我正在尝试设置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,并且该主机在该主机上针对该域的电子邮件路由设置为本地。因此,当它应设置为远程时,正在检查它自己的电子邮件帐户服务器。或者,如果不使用,则将其从接收服务器中删除。
答案 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
)
);