PHP 发送 gmail 邮件 PEAR 邮件 - 无法设置发件人:@ [SMTP:从服务器收到的响应代码无效(代码:5


PHP Send gmail message PEAR Mail - Failed to set sender: @ [SMTP: Invalid response code received from server (code: 555, response: 5.5.2 Syntax error

我已经能够通过 PHP 通过 gmail 发送电子邮件很长时间了,不确定发生了什么变化,但现在我不能。我创建了一个测试页面并具有以下代码列表,但仍然收到错误。有没有人看到任何不对劲的地方?

错误:无法设置发件人:@ [SMTP:从服务器收到的响应代码无效(代码:555,响应:5.5.2 语法错误。 fj1sm16678796oeb.5 - gsmtp)]

$from = "no-reply@mydomain.com <no-reply@mydomain.com>";
$to = "brad@mydomain.com <brad@mydomain.com>";
$subject = "Welcome to SITENAME!";
$crlf = "'n";
$html = "<h1> This is HTML </h1>";
$headers = array('From' => $from,
                 'To' => $to,
                 'Subject' => $subject);

$host = "ssl://smtp.gmail.com"; // try this one to use ssl
$port = 465;
$username = "no-reply@mydomain.com";
$password = "MyPasswordHere";
$mime =  new Mail_mime(array('eol' => $crlf)); //based on pear doc     
$mime->setHTMLBody($html);
$body = $mime->getMessageBody(); //based on pear doc above
$headers = $mime->headers($headers);
$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 $mail->getMessage();
} else {
    echo "Message sent successfully!";
}
echo "'n";

经过漫长的过程,我们终于发现我们从梨(http://pear.php.net/package/Mail/)使用的邮件类已经过时了,升级到较新版本后,我们能够再次通过gmail发送电子邮件。