phpMailer-没有错误,但是没有发送电子邮件

时间:2019-04-04 15:55:44

标签: php email phpmailer

我正在尝试设置phpMailer。没有错误消息,但是仍然没有消息发送。这是调试信息,使用PHPMailer :: SMTPDebug = 2检索:

2019-04-04 15:49:57服务器->客户:220-secure.tourtask.com ESMTP Exim 4.91#1星期四,2019年4月4日08:49:57 -0700 220-我们未授权使用该系统可以传输未经请求的220和/或批量电子邮件。
2019-04-04 15:49:57客户->服务器:EHLO eitravel.tourtask.com
2019-04-04 15:49:57服务器->客户:250-secure.tourtask.com您好eitravel.tourtask.com [173.231.199.120] 250-SIZE 52428800250-8BITMIME250-PIPELINING250-AUTH PLAIN LOGIN250-STARTTLS250帮助
2019-04 -04 15:49:57客户->服务器:STARTTLS
2019-04-04 15:49:57服务器->客户:220 TLS继续
2019-04-04 15:49:57客户->服务器:EHLO eitravel.tourtask.com
2019-04-04 15:49:57服务器->客户:250-secure.tourtask.com您好eitravel.tourtask.com [173.231.199.120] 250-大小52428800250-8BITMIME250-PIPELINING250-AUTH PLAIN LOGIN250帮助
2019年4月4日15:49:57客户->服务器:AUTH登录
2019-04-04 15:49:57服务器->客户:334 VXNlcm5hbWU6
2019-04-04 15:49:57客户端->服务器:<凭据已隐藏>
2019-04-04 15:49:57服务器->客户:334 UGFzc3dvcmQ6
2019-04-04 15:49:57客户->服务器:<凭据已隐藏> < br /> 2019-04-04 15:49:57服务器->客户:235身份验证成功
2019-04-04 15:49:57客户->服务器:邮件来自:
2019-04-04 15:49:57服务器->客户:250 OK
2019-04-04 15:49:57客户->服务器:RCPT TO:
2019-04-04 15:49:57服务器->客户:250已接受
2019-04-04 15:49:57客户->服务器:数据
2019-04 -04 15:49:57服务器->客户:354输入消息,以“。”结尾。仅靠一行
2019-04-04 15:49:57客户->服务器:日期:2019年4月4日星期四15:49:57 +0000
2019-04-04 15:49 :57客户端->服务器:收件人:marcus@easterisland.travel
2019-04-04 15:49:57客户端->服务器:来自:TourTask
2019 -04-04 15:49:57客户端->服务器:主题:恢复密码
2019-04-04 15:49:57客户端->服务器:消息ID:<0b4tAb85GitMRMfogG2IEDSjDXNyL7kQy0g92700@eitravel.tourtask.com>
2019-04-04 15:49:57客户端->服务器:X-Mailer:PHPMailer 6.0.7(https://github.com/PHPMailer/PHPMailer
2019-04-04 15:49:57客户端- >服务器:MIME版本:1.0
2019-04-04 15:49:57客户->服务器:内容类型:multipart / alternative;
2019-04-04 15:49:57客户->服务器:boundary =“ b1_0b4tAb85GitMRMfogG2IEDSjDXNyL7kQy0g92700”
2019-04-04 15:49:57客户->服务器:Content-Transfer-Encoding:8bit
2019-04-04 15:49:57 CLIENT ->服务器:
2019-04-04 15:49:57客户->服务器:这是MIME格式的多部分消息。
2019-04-04 15:49:57客户->服务器:--b1_0b4tAb85GitMRMfogG2IEDSjDXNyL7kQy0g92700
2019-04-04 15:49:57客户->服务器:内容类型:文本/纯文本; charset = us-ascii
2019-04-04 15:49:57客户端->服务器:
2019-04-04 15:49:57客户端->服务器:这是邮件内容。
2019-04-04 15:49:57客户端->服务器:
2019-04-04 15:49:57客户端->服务器:--b1_0b4tAb85GitMRMfogG2IEDSjDXNyL7kQy0g92700
2019-04-04 15: 49:57客户->服务器:Content-Type:text / html; charset = us-ascii
2019-04-04 15:49:57客户->服务器:
2019-04-04 15:49:57客户->服务器:这是邮件内容。
2019-04-04 15:49:57客户端->服务器:
2019-04-04 15:49:57客户端->服务器:
2019-04 -04 15:49:57客户->服务器:--b1_0b4tAb85GitMRMfogG2IEDSjDXNyL7kQy0g92700--
2019-04-04 15:49:57客户->服务器:
2019-04-04 15:49:57客户->服务器:。
2019-04-04 15:49:57服务器->客户:250 OK id = 1hC4cn-0001pn-18
2019-04-04 15:49:57客户- >服务器:QUIT
2019-04-04 15:49:57服务器->客户:221 secure.tourtask.com正在关闭连接

这是我的代码:

$sendEmailObj = (object) [
    'toEmail' => $email,
    'subject' => $lang->getStr('Recover_password'),
    'msg' => 'This is mail content.'
];

sendEmail($sendEmailObj);


function sendEmail($emailData) //Skickar mejl
{
    $mail = new PHPMailer(true);

    $mail->CharSet = 'UTF-8';

    $mail->IsSMTP(); //Set mailer to use SMTP
    $mail->SMTPDebug = 2; //Enables SMTP debug information (for testing)

    $mail->Host = 'secure.tourtask.com';  //Specify main and backup server
    $mail->Port = 25;

    $mail->SMTPSecure = 'tls';
    $mail->SMTPAuth = true;     // turn on SMTP authentication
    $mail->Username = 'no-reply@tourtask.com';  // SMTP username
    $mail->Password = 'xxxpass'; // SMTP password

    $mail->setFrom('no-reply@tourtask.com', 'TourTask');

    if (!empty($emailData->fromEmail)) {
        $mail->AddReplyTo($emailData->fromEmail, $emailData->fromName = null);
    }

    $mail->AddAddress($emailData->toEmail, $emailData->toName = null);

    $mail->IsHTML(true); //Set email format to HTML

    $mail->Subject = $emailData->subject;
    $mail->Body    = nl2br('<html>' . $emailData->msg . '</html>');

    if (isset($emailData->msg_plain)) //Message has plain text version
        $mail->AltBody = $emailData->msg_plain;
    else //Has no plain text version - use html version
        $mail->AltBody = $emailData->msg;

    if (!$mail->Send()) {
        $mail->ErrorInfo;
    }
}

可能是什么问题? 谢谢!

编辑-解决方案

由于帖子被标记为重复,所以我无法再发布答案了,但是幸运的是托管公司确实找到了解决此问题的方法。

问题是接收主机上也存在域tourtask.com,并且该主机在该主机上针对该域的电子邮件路由设置为本地。因此,当它应设置为远程时,正在检查它自己的电子邮件帐户服务器。或者,如果不使用,则将其从接收服务器中删除。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用gmail服务器来检查是否一切正常。如果是这样,也许问题出在您的邮件服务器配置上。     注意:请确保您的电子邮件接受第三方应用程序,您可以允许他们进行表单设置。

    try {


       $mail->SMTPSecure = 'tls';      
                                  // Set mailer to use SMTP
      $mail->Host = gethostbyname('tls://smtp.gmail.com:587');  // Specify main and backup SMTP servers
      $mail->Port = 587;    
      $mail->SMTPKeepAlive = true;  


    $mail->Username = 'email@gmail.com';              
    $mail->Password = 'passwordgmail';                        
    $mail->isSMTP();                  
    $mail->SMTPAuth = true;                     

    $mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);