Impossibile inviare posta tramite Google SMTP con PHPMailer
Domanda
Sto cercando di inviare posta utilizzando SMTP di Google in combinazione con PHPMailer, ma non riesco a farlo funzionare. Questo è il mio codice:
$mail->IsSMTP();
$mail->Host = "smtp.gmail.com";
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Username = "myemail@gmail.com";
$mail->Password = "**********";
$mail->Port = "465";
Per prima cosa non capisco completamente cosa dovrebbe essere compilato come 'SMTPSecure', alcuni dicono ' ssl
', altri dicono ' tls
'. Successivamente per "Porta" ho potuto inserire "465" o "587". Ma nessuna delle combinazioni funziona ... Nota che sto usando un normale account Gmail e non Google Apps. Nel mio account Gmail ho abilitato "Accesso POP".
L'errore che ottengo è: " Prima di tutto devi inserire un comando STARTTLS
" ;. Ciò significa che SSL non è riuscito, ma non so perché ...
Soluzione
Ok, il problema era la versione di PHPMailer. Ho aggiornato alla versione 5 di PHPMailer e tutto ha funzionato alla grande. Stavo usando phpMailer versione 1.02.
Altri suggerimenti
Ho avuto problemi simili con GMail durante l'utilizzo tramite CodeIgniter
Per me, la modifica dell'opzione host ha funzionato:
$mail->Host = "ssl://smtp.googlemail.com";
Imposta $ mail- > SMTPDebug = 1; Ti darà maggiori informazioni su questo errore. Molto probabilmente lo otterrai " Impossibile trovare il trasporto socket " ssl " - hai dimenticato di abilitarlo quando hai configurato PHP " ;. Per risolvere questo problema rimuovi " ;; " dalla riga; extension = php_openssl.dll in php.ini.
PS Mi piace anche XAMPP :)))
$ host = " ssl: //smtp.gmail.com" ;; $ port = " 465 "
Sono passato da SSL a SSL. Funziona.
Secondo questo post qui, Google potrebbe non offrire più questo servizio:
http://www.web-development-blog.com/archives/send-e-mail-messages-via-smtp-with-phpmailer-and-gmail/