【问题标题】:Message could not be sent.Mailer Error: SMTP connect() failed Message could not be sent.Mailer Error无法发送邮件。Mailer 错误:SMTP connect() 失败 无法发送邮件。Mailer 错误
【发布时间】:2018-01-18 09:57:46
【问题描述】:

 <?php
        include('libs/PHPMailer-master/PHPMailerAutoload.php');
        //require 'PHPMailerAutoload.php';
        //require 'system/includes/PHPMailer/PHPMailerAutoload.php';
        $mail = new PHPMailer;
        
        //$mail->SMTPDebug = 3;                               // Enable verbose debug output
        
        $mail->isSMTP();                                      // Set mailer to use SMTP
        $mail->Host = gethostbyname("hostName");  // Specify main and backup SMTP servers
        $mail->SMTPAuth = true;                               // Enable SMTP authentication
        //$mail->Username = 'user@example.com';                 // SMTP username
        //$mail->Password = 'secret';                           // SMTP password
        $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
        $mail->Port = 587;                                    // TCP port to connect to
        
        $mail->setFrom(ex@com.lk, 'Mailer');
        $mail->addAddress('ex@com.lk', 'Joe User');     // Add a recipient
        //$mail->addAddress('ellen@example.com');               // Name is optional
        //$mail->addReplyTo('info@example.com', 'Information');
        //$mail->addCC('cc@example.com');
        //$mail->addBCC('bcc@example.com');
        
        //$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
        //$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
        $mail->isHTML(true);                                  // Set email format to HTML
        
        $mail->Subject = 'Here is the subject';
        $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
        $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
        
        if(!$mail->send()) {
            echo 'Message could not be sent.';
            echo 'Mailer Error: ' . $mail->ErrorInfo;
        } else {
            echo 'Message has been sent';
        }
        ?>

这是我发送电子邮件的代码。但它给了我一个错误“无法发送消息。邮件程序错误:SMTP 连接()失败。https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting”。有人知道原因吗?

【问题讨论】:

  • 你会发现这个答案很有帮助:stackoverflow.com/questions/14456673/…
  • 我看到 2 个可能的原因:您的主机锁定端口 587 上的传出连接或您的 SMTP 凭据不正确。为什么$mail-&gt;Username$mail-&gt;password 被评论了?您是否尝试取消注释这 2 行并输入正确的凭据?如果您的 SMTP 提供商不需要凭据,您可能需要将 $mail-&gt;SMTPAuth 设置为 false
  • 我取消了这两行的注释并设置了值。我仍然遇到同样的错误。

标签: php


【解决方案1】:

删除或注释掉该行-

$mail->IsSMTP();

它会为你工作。

我已经检查并尝试了来自不同站点的许多答案,但除了上述解决方案之外没有任何解决方案。

【讨论】:

    猜你喜欢
    • 2016-08-14
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-06
    • 1970-01-01
    • 2019-09-01
    相关资源
    最近更新 更多