invio di una mail tramite script php

francesco_d

Nuovo Utente
29 Set 2014
3
0
0
ciao a tutti, ho creato uno script in php per l'invio di mail ma ho il seguente problema:

Fatal error: Uncaught exception 'phpmailerException' with message 'SMTP Error: Could not authenticate.' in C:\wamp\www\prova\PHPMailer_5.2.4\class.phpmailer.php on line 1087
e ovviamente la mail non viene inviata.
l'errore è segnalato nel caricamento della pagina web mail_prova.php che hai il seguente codice:

PHP:
<?php
function inviamail($to, $subject, $body) {
	require_once('\PHPMailer_5.2.4\class.phpmailer.php');//includiamo la classe
	require_once('\PHPMailer_5.2.4\class.smtp.php'); 
    $from = "[email protected]";
	$from_name = "MioNome";
    $mail = new PHPMailer(true);  // creiamo l'oggetto
    $mail->IsSMTP(); // abilitiamo l'SMTP
    $mail->SMTPDebug = 0;  // debug: 1 = solo messaggi, 2 = errori e messaggi
    $mail->SMTPAuth = true;  // abilitiamo l'autenticazione
    $mail->SMTPSecure = 'ssl'; // abilitiamo il protocollo ssl richiesto per Gmail
    $mail->Host = 'smtp.gmail.com'; // ecco il server smtp di google
	$mail->Port = 465; // la porta che dobbiamo utilizzare
    $mail->Username = '[email protected]'; //email del nostro account gmail
    $mail->Password = 'MiaPwd'; //password del nostro account gmail
    $mail->SetFrom($from, $from_name);
    $mail->Subject = $subject;
    $mail->Body = $body;
        $mail->IsHTML(true);
    $mail->AddAddress($to);
    if(!$mail->Send()) {
        $error = 'errore mail: '.$mail->ErrorInfo;
        echo $error;
		return false;
    } else {
        $error = 'Messaggio inviato!';
        return true;
    }
}
inviamail("[email protected]", "prova di invio mail php", "sto provando invio mail");//richiamiamo la funzione
?>
Qualcuno può aiutarmi?
 
Ultima modifica di un moderatore:
ciao
prova una cosa perchè a quanto ne so la classe class.phpmailer.php chiama da sola la class.smtp.php quando usi l'smtp
quindi prova a commetare o togliere la riga
PHP:
require_once('\PHPMailer_5.2.4\class.smtp.php');
 
Ultima modifica:
ciao
indica la riga 1087
poi prova a scrivere la riga
$mail = new PHPmailer(true);
senza il true
$mail = new PHPmailer();
io non l'ho mai messo
 
scusate se intervengo,
ho preso lo script che hai postato, ho sostituito l'indirizzo di posta "MiaMail" con il mio, non ho modificato altro.

provato, funziona bene, controlla quindi userid e password

quando fai le prove, volendo puoi inserire
PHP:
    $mail->SMTPDebug = 4;  // debug: 1 = solo messaggi, 2 = errori e messaggi
così vedi la connessione SMTP
ciao
Marino
 
Ok, ho cambiato codice da
$mail = new PHPmailer(true);
in
$mail = new PHPmailer();
e gmail segnalava con un messaggio di accesso al mio account da fonti sconosciute. Poi sono andato sulle impostazioni e ho modificato le impostazioni di sicurezza e ora funziona.
Grazie mille per il vostro prezioso contributo.
 

Discussioni simili