无法通过PHPMailer发送邮件

时间:2012-05-18 16:39:54

标签: php sendmail phpmailer

这是我的php代码

require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();  // telling the class to use SMTP
$mail->Host     = "smtp.gmail.com"; // SMTP server

$mail->From     = "example@gmail.com";
$mail->AddAddress("example@yahoo.com");

$mail->Subject  = "First PHPMailer Message";
$mail->Body     = "Hi! \n\n This is my first e-mail sent through PHPMailer.";
$mail->WordWrap = 50;

if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
}

我的php.ini有这个邮件配置     [邮件功能]

SMTP = smtp.gmail.com
smtp_port = 465
sendmail_from =example@gmail.com

我的错误是

  

以下发件人地址失败:example@gmail.com消息不是   sent.Mailer       错误:以下发件人地址失败:example@gmail.com       SMTP服务器错误:5.7.0必须首先发出STARTTLS命令。 i1sm13250552pbv.49

请帮助我。提前谢谢......

4 个答案:

答案 0 :(得分:2)

首先要确保你拥有最新版本的phpmailer()

https://github.com/PHPMailer/PHPMailer

下载

通过php编辑器打开class.phpmailer.php

将所有“HELO”字样替换为“EHLO”

客户必须在AUTH之前提供EHLO(非HELO)。 (FOR GOOGLE MAIL)

它将被解决。

答案 1 :(得分:0)

smtp.gmail.com要求您使用SSL和端口587或465。

答案 2 :(得分:0)

答案 3 :(得分:0)

将您的主机更改为

ssl://smtp.gmail.com:465