Impossible d'envoyer un courrier via Google SMTP avec PHPMailer
Question
J'essaie d'envoyer du courrier en utilisant le protocole SMTP de Google associé à PHPMailer, mais je ne parviens pas à le faire fonctionner. Ceci est mon code:
$mail->IsSMTP();
$mail->Host = "smtp.gmail.com";
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Username = "myemail@gmail.com";
$mail->Password = "**********";
$mail->Port = "465";
Tout d'abord, je ne comprends pas tout à fait ce qu'il faut renseigner sous "SMTPSecure", certains disent " ssl
", d'autres, " tls
". Suivant pour «Port», je pourrais entrer «465» ou «587». Mais aucune des combinaisons ne fonctionne ... Notez que j'utilise un compte Gmail classique et non Google Apps. Dans mon compte Gmail, j'ai activé "l'accès POP".
L'erreur que je reçois est la suivante: " Doit d'abord émettre une commande STARTTLS
". Ce qui signifie que SSL a échoué, mais je ne sais pas pourquoi ...
La solution
Ok, le problème était la version de PHPMailer. J'ai mis à jour la version 5 de PHPMailer et tout a bien fonctionné. J'utilisais phpMailer version 1.02.
Autres conseils
J'ai eu des problèmes similaires avec GMail lors de son utilisation via CodeIgniter
Pour moi, changer l'option d'hôte a fonctionné:
$mail->Host = "ssl://smtp.googlemail.com";
Définissez $ mail- > SMTPDebug = 1; Cela vous donnera plus d'informations sur cette erreur. Très probablement, vous aurez " Impossible de trouver le transport de socket " ssl " - avez-vous oublié de l'activer lorsque vous avez configuré PHP " ;. Pour résoudre ce problème, supprimez " ;; " de la ligne; extension = php_openssl.dll dans php.ini.
PS J'aime aussi XAMPP:)))
$ host = " ssl: //smtp.gmail.com" ;; $ port = " 465 "
J'ai changé de SSL à SSL. Ça marche.
Selon ce message, Google n'offre peut-être plus ce service:
http://www.web-development-blog.com/archives/send-e-mail-messages-via-smtp-with-phpmailer-and-gmail/