【问题标题】:Can not send mail through PHPMailer无法通过 PHPMailer 发送邮件
【发布时间】:2012-05-26 06:12:01
【问题描述】:

这是我的 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

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

【问题讨论】:

标签: php sendmail phpmailer


【解决方案1】:

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

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

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

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

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

会解决的。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:
      【解决方案4】:

      把你的主机改成

      ssl://smtp.gmail.com:465
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-06
        • 1970-01-01
        • 1970-01-01
        • 2021-03-23
        • 2012-04-14
        • 1970-01-01
        • 2011-12-19
        • 2019-01-19
        相关资源
        最近更新 更多