php mailer通过SMTP Auth拒绝欺骗尝试的消息

时间:2017-08-04 13:21:36

标签: php phpmailer

这是我的代码:

function send_mail($email,$message,$subject)
{                       
    require_once('mailer/class.phpmailer.php');
    $mail = new PHPMailer();
    $mail->IsSMTP(); 
    $mail->SMTPDebug  = 2;                     
    $mail->SMTPAuth   = true;                  
    $mail->SMTPSecure = "tls";                 
    $mail->Host       = "";      
    $mail->Port       = 587;             
    $mail->AddAddress($email);
    $mail->Username="n";  
    $mail->Password="";            //correct password
    $mail->SetFrom('','');
    $mail->AddReplyTo("","");
    $mail->Subject    = $subject;
    $mail->MsgHTML($message);
    $mail->Send();
}   

和我的调试输出:

SMTP - > FROM SERVER:220-md-in-79.webhostbox.net ESMTP Exim 4.87#1 Fri,04 Aug 2017 11:09:34 +0000 220 - 我们不授权使用此系统来运送未经请求的,220和/或批量电子邮件。     SMTP - > FROM SERVER:250-md-in-79.webhostbox.net您好[103.53.43.68] 250-SIZE 52428800 250-8BITMIME 250-PIPELINING 250-AUTH PLAIN LOGIN 250-STARTTLS 250帮助     SMTP - >从服务器:220 TLS继续     SMTP - > FROM SERVER:250-md-in-79.webhostbox.net您好[103.53.43.68] 250-SIZE 52428800 250-8BITMIME 250-PIPELINING 250-AUTH PLAIN LOGIN 250帮助     SMTP - >从服务器:250好的     SMTP - >来自服务器:250接受     SMTP - > FROM SERVER:354输入消息,以“。”结尾。在一条线上     SMTP - > FROM SERVER:250通过SMTP身份验证拒绝欺骗尝试的消息

我正在使用Hostgator服务器

2 个答案:

答案 0 :(得分:1)

您的邮件提供商希望避免源自其服务器的任何类型的电子邮件欺骗。您必须在From字段中使用您的用户名:

$mail->SetFrom('info@quickdawa.in','QuickDawa');

答案 1 :(得分:0)

首先,我可以说你正在使用一个非常旧版本的PHPMailer - get the latest

它说你欺骗的原因是因为你在欺骗......

您使用mail.quickdawa.in的发件人地址发送quickdawa@gmail.com,但gmail未将您的主机列为gmail.com地址的有效来源,因此您未通过SPF检查。

如果您想从Gmail地址发送,则需要通过Gmail发送。有关如何执行此操作,请参阅the gmail example provided with PHPMailer

或者,从您使用。

登录的地址发送