Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
phpMailer-没有错误,但电子邮件不是';t发送_Php_Email_Phpmailer - Fatal编程技术网

phpMailer-没有错误,但电子邮件不是';t发送

phpMailer-没有错误,但电子邮件不是';t发送,php,email,phpmailer,Php,Email,Phpmailer,我正在试着设置phpMailer。没有错误消息,但仍然没有发送任何消息。以下是使用PHPMailer::SMTPDebug=2检索的调试信息: 2019-04-04 15:49:57服务器->客户端:220-secure.tourtask.com ESMTP Exim 4.91#1 Thu,2019年4月4日08:49:57-0700 220我们不授权使用此系统传输未经请求的数据,220和/或批量电子邮件。2019-04-04 15:49:57客户端->服务器:EHLO eitravel.tou

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

2019-04-04 15:49:57服务器->客户端:220-secure.tourtask.com ESMTP Exim 4.91#1 Thu,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-8bitme250-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-04 15:49:57服务器->客户端:250-secure.tourtask.com你好eitravel.tourtask.com[173.231.199.120]250-SIZE 52428800250-8BITMIME250-PIPELINING250-AUTH普通登录250帮助
2019-04-04 15:49:57客户端->服务器:AUTH登录
2019-04-04 15:49:57服务器->客户端:334 VXNlcm5hbWU6
2019-04-04 15:49:57客户端->服务器:
2019-04-04-04 15:49:57服务器->客户端:334 UGFzc3dvcmQ6
2019-04-04 15:49:57客户端->服务器:
15:49:57服务器->客户端:235身份验证成功
2019-04-04 15:49:57客户端->服务器:邮件发件人:
2019-04-04 15:49:57服务器->客户端:250确定
2019-04-04 15:49:57客户端->服务器:RCPT到:
2019-04-04 15:49:57服务器->客户端:250已接受
2019-04-04 15:49:57客户端->服务器:数据
2019-04-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:
2019-04-04 15:49:57客户端->服务器:X-Mailer:PHPMailer 6.0.7()2019-04-04 15:49:57客户端->服务器:MIME版本:1.0
2019-04-04 15:49:57客户端->服务器:内容传输编码:8bit
2019-04-04 15:49:57客户端->服务器:
2019-04-04 15:49:57客户端->服务器:这是MIME格式的多部分消息。
2019-04-04 15:49:57客户端->服务器:--b1_0b4; tab85gitmrmogg2iedxjdnyl7kqy0g92700
2019-04-04 15:49:57客户端->服务器:内容类型:text/plain;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客户机->服务器:内容类型: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客户端->服务器:--b1_0b4; b4tab85gitmrmfogg2iedsjnyl7kqy0g92700--
2019-04-04 15:49:57客户端->服务器:
2019-04-04-04-04 15:49:57客户端->服务器:57客户端->服务器:.
2019-04-04 15:49:57服务器->客户端:250 OK id=1hC4cn-0001pn-18
2019-04-04 15:49:57客户端->服务器:退出
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;
    }
}
$sendmailobj=(对象)[
'toEmail'=>$email,
'subject'=>$lang->getStr('Recover_password'),
'msg'=>'这是邮件内容。'
];
sendmail($sendmailobj);
函数sendmail($emailData)//Skickar mejl
{
$mail=新的PHPMailer(true);
$mail->CharSet='UTF-8';
$mail->IsSMTP();//设置邮件程序以使用SMTP
$mail->SMTPDebug=2;//启用SMTP调试信息(用于测试)
$mail->Host='secure.tourtask.com';//指定主服务器和备份服务器
$mail->Port=25;
$mail->SMTPSecure='tls';
$mail->SMTPAuth=true;//打开SMTP身份验证
$mail->Username='否-reply@tourtask.com“;//SMTP用户名
$mail->Password='xxxpass';//SMTP密码
$mail->setFrom('否-reply@tourtask.com","任务",;
如果(!empty($emailData->fromEmail)){
$mail->AddReplyTo($emailData->fromEmail,$emailData->fromName=null);
}
$mail->AddAddress($emailData->toEmail,$emailData->toName=null);
$mail->IsHTML(true);//将电子邮件格式设置为HTML
$mail->Subject=$emailData->Subject;
$mail->Body=nl2br('.$emailData->msg');
if(isset($emailData->msg_plain))//消息具有纯文本版本
$mail->AltBody=$emailData->msg_plain;
else//没有纯文本版本-使用html版本
$mail->AltBody=$emailData->msg;
如果(!$mail->Send()){
$mail->ErrorInfo;
}
}
有什么问题吗? 谢谢

编辑-解决方案

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


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

您可以尝试使用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
)
);

你们可以试试gmail服务器,看看是否一切正常。若一切正常,那个么问题可能在于你们的邮件服务器配置。 注:马