2012-12-26 32 views
1

我使用PHP的mail()函數向管理員發送「忘記密碼」鏈接和報告。當我用Gmail測試時,一切正常。但是,當我將電子郵件發送到Microsoft 365郵箱時,即使在垃圾郵件文件夾中也不會顯示郵件。mail()函數和Microsoft 365

我該怎麼辦?

UPD

我嘗試使用標題和「Return-path」附加參數。我的代碼如下所示:

 $to  = '[email protected]_domain.com'; 
     $subject = 'test'; 
     $message = 'test'; 
     $headers = 'MIME-Version: 1.0' . "\r\n"; 
     $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
     $headers .= "To: Tamara <[email protected]_domain.com>" . "\r\n"; 
     $headers .= 'From: Sender <[email protected]>' . "\r\n"; 
     $headers .= 'Reply-To: Sender <[email protected]>'. "\r\n"; 
     $headers .= "Return-Path:<[email protected]>"."\r\n"; 

     mail($to, $subject, $message, $headers, "-r [email protected]"); 

,我終於得到了反彈的電子郵件,它說:

服務不可用;客戶端主機[5.166。*。68]使用阻止列表1阻止,來自IP的郵件被禁止;要請求從此列表中刪除,請將此消息轉發至[email protected]幷包含您的IP地址。

但是沒有任何消息傳遞到此電子郵件,即使是該域名。我的IP如何被禁止?

+1

您是否收到退回消息? –

+0

我在哪裏可以看到他們? – Tamara

+0

您可以發佈您用於郵件功能的代碼嗎? – PhearOfRayne

回答

0

我的第一個建議是首先刪除headers參數中的任何自定義內容,然後查看是否只有普通電子郵件首先通過。如果它失敗了,並且你正在發送純文本電子郵件,我建議在郵件服務器發送的地址上檢查PTR記錄。您應該能夠在您收到的Gmail郵件的標題中看到此內容。

$to  = '[email protected]'; 
$subject = 'test'; 
$message = 'test'; 
$headers = 'From: [email protected]' . "\r\n" . 
      'Reply-To: [email protected]' . "\r\n" . 
      'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 

如果這個工程,你現在看到你的電子郵件在你垃圾/垃圾郵件文件夾,我會建議尋找到設置PTR record,並確保您有:

0

嘗試使用此sendind測試電子郵件正確的反向DNS設置爲您的域名指向您的服務器IP地址。請參閱Reverse DNS