【问题标题】:PHPMailer didn't send email messagePHPMailer 没有发送电子邮件
【发布时间】:2016-10-10 17:06:00
【问题描述】:

我尝试使用 PHPMailer 发送电子邮件但出现错误。我使用端口 465 和 587 在 SSL 和 TLS 中也出现错误。如下错误

2016-06-09 18:55:06 无法实例化邮件功能。无法发送消息。Mailer 错误:无法实例化邮件函数。

我该如何解决这个问题并可以发送电子邮件。

        $mail = new PHPMailer;

        $mail->isSMTP();
        $mail->Host = 'smtp.gmail.com';
        $mail->SMTPAuth = true;
        $mail->Username = 'nuralam862@gmail.com';
        $mail->Password = '********';
        $mail->SMTPSecure = 'tls';
        $mail->Port = 587;   

        $mail->From = 'nuralam862@gmail.com';
        $mail->FromName = 'nuralam';
        $mail->addAddress('nuralam862@gmail.com', 'nuralam');

        $mail->addReplyTo('nuralam862@gmail.com', 'nuralam');

        $mail->WordWrap = 50;
        $mail->isHTML(true);
        $mail->SMTPDebug = 1; 
        $mail->Subject = 'Using PHPMailer';
        $mail->Body    = 'Hi Iam using PHPMailer library to sent SMTP mail from localhost';

        if(!$mail->send()) {
           echo 'Message could not be sent.';
           echo 'Mailer Error: ' . $mail->ErrorInfo;
           exit;
        }
        echo 'Message has been sent';

【问题讨论】:

  • 我过去在我的测试系统上遇到过类似的问题,因为没有运行邮件服务器。可以通过标准的php函数发送邮件吗?
  • 功能是什么。
  • 如何让邮件服务器运行
  • 这取决于您的设置。我最终使用了一个谷歌电子邮件地址,而不是运行我自己的服务器。你可以用谷歌搜索教程。

标签: phpmailer


【解决方案1】:

首先,您使用的是旧版本的 PHPMailer,您需要read the docsGet the latest.

因为您直接使用 SMTP,所以不需要本地邮件服务器。

如果您增加 SMTP 调试输出,您将能够看到您从服务器获得的响应,这很可能是身份验证问题,如故障排除指南中所述。

$mail->SMTPDebug = 2;

【讨论】:

  • 我再次从您的链接下载 phpmailer 但仍然无法正常工作。请帮助我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-01
  • 2013-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-23
  • 1970-01-01
相关资源
最近更新 更多