我已经能够通过 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发送电子邮件。