Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    28

    PHPmailer Class 'SMTP' not found

    Ciao a tutti
    Quando uso PHPMailer, durante l'invio dei dati mi viene visualizzato questo errore:


    Fatal error: Class 'SMTP' not found in C:\xampp\htdocs\SITO\PHPMailer\class.phpmailer.php on line 1196


    Ho già scaricato i file dal sito ufficiale più volte, ma non è cambiato nulla.
    Qualcuno potrebbe passarmi la classe o spiegarmi l'errore nel caso mi sbagliassi?


    Posto il codice php che uso nel caso l'errore fosse lì

    codice:
    function invio_richiesta($email,$mittente_oggetto,$descrizione){        
    //PHPMailer
        require "PHPMailer/class.phpmailer.php";
            
    //SETTING PHPMailer
        $messaggio = new PHPmailer();
        $messaggio->IsSMTP();
        $messaggio->Host="smtp.gmail.com";//'Host SMTP';
        $messaggio->SMTPAuth = true;
        $messaggio->Username = 'email@domain.ext';
        $messaggio->Password = '******';
        $messaggio->SMTPSecure = 'tls';
        
        //definiamo le intestazioni e il corpo del messaggio
        $messaggio->From=$email;
        $messaggio->FromName=$mittente_oggetto;
        $messaggio->AddAddress('email@domain.ext');
        $messaggio->AddReplyTo($email); 
        $messaggio->Subject=$mittente_oggetto;
        $messaggio->Body=stripslashes($descrizione);
            
    //INVIO MAIL
        if ($messaggio->Send()){//invio riuscito
            header("location: ?page=Preventivi&tag=C");
            echo"    <p class='preventivi_invio_richiesta'>Clicca su verifica per controllare se l'invio della e-mail è riuscito</p>
                    <br/>
                    <a class='preventivi_torna_al_modulo' href='?page=Preventivi&tag=C'>Verifica</a>";
            exit;
        }
        else{//errore durante l'invio
            header("location: ?page=Preventivi&tag=E");
            echo"    <p class='preventivi_invio_richiesta'>Clicca su verifica per controllare se l'invio della e-mail è riuscito</p>
                    <br/>
                    <a class='preventivi_torna_al_modulo' href='?page=Preventivi&tag=E'>Verifica</a>";
            //echo  $messaggio->ErrorInfo;
            error_reporting(E_ALL);
            ini_set('display_errors','1');
            exit;
        }
        
    //CHIUSURA CONNESSIONE
        unset($messaggio);

    Grazie a tutti in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    28
    scusate, manca l'ultima parte del codice, l'aggiungo qui sotto

    codice:
    //CHIUSURA CONNESSIONE
    	$messaggio->SmtpClose();
    	unset($messaggio);
    }

  3. #3
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    il problema è qui
    C:\xampp\htdocs\SITO\PHPMailer\class.phpmailer.php on line 1196

    a quella riga cerca di creare la classe SMTP che non trova.
    Se non ricordo male c'è un autoloder di phpmailer ed è quello che per qualche motivo non compone correttamente il percorso per caricare il file che contiene la classe smtp
    Che mestiere difficile.....essere da soli ancora di più

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    28
    cosa devo fare esattamente per risolvere il problema?

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    28
    Per chi avesse lo stesso problema, io l'ho risolto aggiungendo
    codice:
    require ("class.smtp.php");
    in testa a class.phpmailer.php

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.