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 ...

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top