Ich versuche, eine E-Mail über GMail & #39; s SMTP-Server von einer PHP-Seite zu senden, aber ich bekomme diesen Fehler:
Authentifizierungsfehler [SMTP: SMTP-Server unterstützt keine Authentifizierung (Code: 250, Antwort: mx.google.com bei Ihrem Dienst, [98.117.99.235] SIZE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]
Kann mir jemand helfen? Hier ist mein Code:
<?php
require_once "Mail.php";
$from = "Sandra Sender <[email protected]>";
$to = "Ramona Recipient <[email protected]>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$host = "smtp.gmail.com";
$port = "587";
$username = "[email protected]";
$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>");
}
?>
Ihr Code scheint kein TLS (SSL) zu verwenden, was für die Zustellung von E-Mails an Google (und die Verwendung der Ports 465 oder 587) erforderlich ist.
Sie können dies tun, indem Sie
$host = "ssl://smtp.gmail.com";`
Ihr Code sieht verdächtig nach diesem Beispiel aus, das sich auf ssl:// im Hostnamenschema bezieht.
Gmail erfordert Port 465, und auch it's der Code von phpmailer :)
Satz
'auth' => false,
Prüfen Sie auch, ob Port 25 funktioniert.