最近 AOL 开始拒绝从我的生产服务器发送的电子邮件。
客户通过我的网站查询产品,如果他们愿意,可以自己“抄送”。我检查垃圾邮件(例如,如果请求包含禁止的短语、网址等,则不要发送)。但是,最近,如果询问者是 AOL 客户,则消息会反弹:
<*removed!*@aol.com>: host mailin-04.mx.aol.com[64.12.88.132] said: 521 5.2.1 :
AOL will not accept delivery of this message. (in reply to end of DATA
command)
电子邮件协议不是我的专业领域!我只是使用标准的 PHP mail() 函数,这已经工作多年了。
我查看了 AOL Postmaster 支持页面并联系了 AOL(显然,这是我的第一个停靠港 - 但他们尚未回复),另外我并不真正理解问题(这是找到解决方案的 50% !)。
http://postmaster-blog.aol.com/2014/04/22/aol-mail-updates-dmarc-policy-to-reject/
...似乎 AOL 在说“我们不喜欢您发送电子邮件的方式,很抱歉给您带来不便...”
如果有人对如何让 AOL 接受电子邮件有任何经验或具体见解,那么我很乐意听取您的意见。我猜这可能与我的电子邮件的形成方式有关:这多年来没有改变,而且(以前)我没有理由查看代码:
这是我如何发送电子邮件的编辑版本...
$recipient = "\"$supplier[supplierName]\" <$supplier[supplierEmail]>";
$subject = "$supplier[supplierName] enquiry";
$headers = "MIME-Version: 1.0".PHP_EOL ;
$headers .= "Content-type: text/html; charset=utf-8".PHP_EOL;
$headers .= "Reply-To: \"$cleanArrayEmail[realname]\" <$cleanArrayEmail[email]>".PHP_EOL;
$headers .= "From: \"Admin\" <ADMIN_EMAIL>".PHP_EOL;
if ($_POST['cc']){$headers .= "cc: \"$cleanArrayEmail[realname]\" <$cleanArrayEmail[email]>".PHP_EOL;}
mail ($recipient, $subject, $msg, $headers, '-f'. ADMIN_EMAIL );
非常感谢史蒂夫