File log erroe con phpmailer

localhost.nicola

Utente Attivo
11 Dic 2015
58
2
8
Salve, ho creato un programma di mailing ad uso interno per l'invio e il conteggio di click per determinati template html. Dalle statistiche mi risulta che nell'ultimo invio sono riuscito ad inviare 2 mail su 64. Vorrei creare un file di log nel caso in cui l'invio non sia andato a buon fine.

L'errore su cui mi sono imbattuto è il seguente:
"Could not instantiate mail function."

Ovviamente, come da oggetto utilizzo PHPmailer.
Allego il codice.

PHP:
<?#CONNESSIONE CLASSE MAIL
include_once"PHPmailer/_lib/class.phpmailer.php";
?>





<?#RACCOLTA VARIABILI GET
$IdModello=7;
    $TrackingGroup=12;
        $IdProcessoMadre=1;
            $TotaleMailInvio=1;
                $Email=" ";
                    $Oggetto="Test file log.";
                        $IdAnagrafica=43;

?>






<?#CREAZIONE CORPO EMAIL
     
                //ISTANZIO LA CLASSE MAIL             
                    $Messaggio = new PHPmailer();

                    //CREO LA CONNESSIONE E LE PROPRIETA DELLA MAIL
                    $Messaggio->Host='*********';
                        $Messaggio->isHtml(true);
                            $Messaggio->Priority='3'; //1=alta , 3=normale , 5=bassa                 
                //FINE ISTANZA CLASSE MAIL

             
             

                //CREO LE VARIABILI PER IL MESSAGGO
                    $Messaggio->FromName='Test Nicola'; //CREO IL NOME CHE VERRA VISUALIZZATO COME MITTENTE
                        $Messaggio->From='marketing@********'; //ISTANZIO LA MAIL DEL MITTENTE
                            $Messaggio->AddAddress("$Email");    //ISTANZIO IL DESTINATARIO
                                $Messaggio->AddReplyTo('commerciale@********');     //ISTANZIO LA MAIL PER RISPONDERE
                                    $Messaggio->Subject=$Oggetto;    //ISTAZIONE L'OGGETTO DELLA MAIL
                //FINE VARIABILI MESSAGGIO
             
             
                //CORPO MESSAGGIO
                    $Messaggio->Body=stripslashes("Test creazione file di log.");             
                //FINE CORPO MESSAGGIO
             
                         
             
             
                //GESTISCO GLI ERRORI IN CASO DI ERRATO INVIO E/O INSERT DATI INVIO
             
                    if(!$Messaggio->Send()){

                            $NomeFileLog="log/" . "$IdProcessoMadre" . "_" . "$IdAnagrafica" . ".txt";
                                $CreaLog = fopen($NomeFileLog, "w");
                                    $MessaggioErrore = $Messaggio->ErrorInfo;

                                 
                                    $CreazioeFile= fwrite($CreaLog, "$MessaggioErrore");
                                 
                                    if ($CreazioeFile == true){
                                        echo "<div style='font-family:sans-serif; text-align:center;'> C'&egrave stato un errore sull'invio. Ho creato il file di log. <br> <br> $NomeFileLog </div>";
                                    }
                                 
                                 

                     
                    }else{                     
                            echo "
                         
                                <div style='font-family:sans-serif; text-align:center;'> Invio avvenuto con successo </div>
                            ";
                    }

             
                //FINE GESTIONE ERRORI O INSERT DATI INVIO

     

     
     
     
                #CHIUDO LA CONNESSIONE PHPmailer
                    $Messaggio->SmtpClose();
                        unset($Messaggio);             
                #FINE CHIUSURA CONNESSIONE PHPmailer

?>

Saluti.
 
se l'errore succede al momento dell'invio, prova ad inserire tutte le definizioni del server SMTP, che non vedo nello script,
per intenderci
PHP:
  $eM_Host  = "smtp.example.com"; // SMTP servizio mail
  $eM_Port  = 587; // 25, 465, 587
  $eM_Auth  = true; // false (25) true (465, 587)
  $eM_Secure  = "tls"; // "" (25) "ssl" (465) "tls" (587)
  $eM_username = "name@example.com"; // utente conosciuto dal servizio mail usato
  $eM_password = "password"; // password dell'utente
poi già che ci sei, cambia la include sostituendola con "PHPMailerAutoload.php", compatibilmente con la versione di PHPmailer che usi
 
Ciao Marino, ho configurato tutti i campi come consigliato ma continua a restituirmi "Could not instantiate mail function.".
 
compatibilmente con la versione che usi e con il giusto percorso, sostituisci con
PHP:
require_once 'PHPMailer/PHPMailerAutoload.php';
se l'errore persiste, cerca di indicare la posizione dove si verifica
 

Discussioni simili