2

这是我的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 邮件未发送。邮件程序错误:以下发件人地址失败:example@gmail.com SMTP 服务器错误:5.7.0 必须首先发出 STARTTLS 命令。i1sm13250552pbv.49

请帮助我。在此先感谢......

4

4 回答 4

2

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

https://github.com/PHPMailer/PHPMailer下载

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

将所有“HELO”单词替换为“EHLO”

EHLO(不是 HELO)必须由客户在 AUTH 之前给出。(对于谷歌邮件)

它会得到解决。

于 2013-08-14T14:04:49.773 回答
0

尝试一次 phpgmailer http://www.thedanglybits.com/2006/10/13/update-send-email-with-php-and-gmail-hosted-for-your-domain/

于 2012-05-18T16:53:52.367 回答
0

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

于 2012-05-18T16:42:51.887 回答
0

将您的主机更改为

ssl://smtp.gmail.com:465
于 2013-01-24T02:57:27.943 回答