2015-02-07 62 views
0

在新的服務器上,我注意到郵件交付的時間比應該晚得多。它不會一直髮生,但足以讓它煩擾我並想弄清楚問題所在。延遲交付php郵件() - 並非總是不變

請不要告訴我使用郵件類或其他東西。我已經使用php的mail()來處理像這樣簡單的東西,直到現在從來沒有問題,所以它必須是一個設置或這個服務器上的一些奇怪的東西。

我收到他們只是延遲的電子郵件,它隨機出現。

例跟蹤的電子郵件(請注意發送和退房時間):

Event: success success 
User: user 
Domain: sending.com 
Sender: [email protected] 
Sent Time: Feb 2, 2015 3:47:15 PM 
Sender Host: localhost 
Sender IP: 127.0.0.1 
Authentication: localuser 
Spam Score: 
Recipient: [email protected] 
Delivery User: -remote- 
Delivery Domain: 
Delivered To: [email protected] 
Router: lookuphost 
Transport: remote_smtp 
Out Time: Feb 3, 2015 2:04:02 AM 
ID: 1YINtp-00067R-8i 
Delivery Host: receiver.com 
Delivery IP: 111.111.111.111 
Size: 836 bytes 
Result: Message accepted 

下面是簡單的功能我寫的,並用它來發送郵件:

// Send Mail 
function send_mail($to,$from,$subject,$message) 
{ 
    // Create the email 
    $headers = ''; 
    $headers .= "From: ".$from."\r\n"; 
    $headers .= "Reply-to: ".$from."\r\n"; 
    $headers .= "Return-Path: ".$from."\r\n"; 
    $headers .= "Message-ID: <" . md5(uniqid(time())) . "@" . $_SERVER['SERVER_NAME'] . ">\r\n"; 
    $headers .= "MIME-Version: 1.0\r\n"; 
    $headers .= "Date: " . date('r', time()) . "\r\n"; 

    mail($to,$subject,$message,$headers); 
} 
+0

我確實收到電子郵件,他們只是非常遲到......並且只是偶爾。 – user756659 2015-02-07 22:47:53

回答

0

這聽起來有點像Greylisting。一些提供商進行灰名單並延遲電子郵件。另一件事是刪除消息ID並讓郵件服務器管理該ID。手動設置沒什麼意義。

+0

我會嘗試 - 現在你說我使用郵件的所有其他網站()我不提供該ID。我不記得我在什麼時候或爲什麼將這些功能放在功能上 - 一定是在修改其他的東西。也將研究灰名單。感謝您的評論和時間! – user756659 2015-02-08 00:33:53

+0

Welp ...刪除消息ID沒有解決任何問題...我仍然不知道問題可能是什麼。 – user756659 2015-02-18 04:54:02

+0

然後你應該檢查你的mailserver配置。在大多數情況下,來自聯繫人表單的灰名單是正常的。 – Stony 2015-02-18 08:25:19