2015-02-07 31 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