2017-08-04 62 views
0

這裏是我的代碼:PHP的郵件信息通過SMTP驗證拒絕欺騙嘗試

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 - >從服務器:220-MD-在-79.webhostbox。 net ESMTP Exim 4.87#1 2017年8月4日星期五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 HELP SMTP - > FROM SERVER :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 HELP SMTP - > FROM SERVER:250 OK SMTP - > FROM SERVER:250 Accepted SMTP - > FROM SERVER:354輸入消息,以「。」結尾。一行本身 SMTP - >從服務器:250消息通過SMTP驗證拒絕欺騙嘗試

我使用的是HostGator的服務器

回答

1

您的郵件提供商希望避免任何形式的電子郵件欺騙的從他們的服務器發起。你將不得不使用您的用戶名在From領域:

$mail->SetFrom('[email protected]','QuickDawa'); 
0

首先,我可以告訴你正在使用的PHPMailer的一個非常古老的版本 - get the latest

它說你欺騙的原因是因爲你欺騙......

您使用的是從[email protected]地址,通過發送mail.quickdawa.in,但Gmail中沒有列出您的主機作爲一個有效的源對於gmail.com地址,所以你沒有SPF檢查。

如果你想從一個Gmail地址發送,你需要通過Gmail發送。請參閱the gmail example provided with PHPMailer瞭解如何操作。

或者,從您登錄的地址發送。