Détails
Envoyer des e-mails en utilisant le serveur SMTP GMail à partir d'une page PHP
J'essaie d'envoyer un courriel via le serveur SMTP de GMail à partir d'une page PHP, mais j'obtiens cette erreur :
échec de l'authentification [SMTP : le serveur SMTP ne prend pas en charge l'authentification (code : 250, réponse : mx.google.com à votre service, [98.117.99.235] SIZE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]
Quelqu'un peut-il m'aider ? Voici mon code :
<?php
require_once "Mail.php";
$from = "Sandra Sender <sender@example.com>";
$to = "Ramona Recipient <ramona@microsoft.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$host = "smtp.gmail.com";
$port = "587";
$username = "testtest@gmail.com";
$password = "testtest";
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?>
380
3
Votre code ne semble pas utiliser le protocole TLS (SSL), qui est [nécessaire pour transmettre le courrier à Google (et utiliser les ports 465 ou 587)][1].
Vous pouvez le faire en définissant
$host = "ssl://smtp.gmail.com";
Votre code ressemble étrangement à [cet exemple][2] qui fait référence à ssl:// dans le schéma du nom d'hôte.
[1] : http://mail.google.com/support/bin/answer.py?hl=en&answer=13287 [2] : http://www.linuxquestions.org/questions/programming-9/php-pear-mail-packege-support-security-through-ssl-586976/
Gmail requiert le port 465, et c'est aussi le code de phpmailer :)
Définir
Voyez aussi si le port 25 fonctionne.