如何格式化Hotmail/Outlook满意的电子邮件?

Tij*_*Kez 6 php email outlook hotmail

$body = 'This is a test';
    $subject = 'Confirmation';
$headers = 'From: Testing Site' . "\r\n";
$headers .= 'Reply-To: admin@myserver.com' . "\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html;charset=iso-8859-1' . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion(). "\r\n";
$headers .= 'Delivery-Date: ' . date("r") . "\r\n";
//$headers .= 'Message-Id: <20140316055950.DA8ED58A13CE@myserver.com>' . "\r\n";

mail("example@hotmail.com", $subject, $body, $headers, "-f admin@myserver.com");
mail("example@gmail.com", $subject, $body, $headers, "-f admin@myserver.com");
Run Code Online (Sandbox Code Playgroud)

电子邮件向Gmail发送正常邮件但Hotmail始终拒绝此错误:

主机mx1.hotmail.com [65.55.33.119]说:550 5.7.0(COL0-MC5-F28)消息无法发送.请确保该消息符合RFC 5322.(回复DATA命令的结尾).

邮件ID标头由服务器自动生成,但也无法手动提供.

为什么Hotmail不开心?

邮件服务器具有SPF记录,反向DNS,未列入黑名单并通过mxtoolbox.com上的所有检查.

Jas*_*wer 12

From标题是无效的.它必须具有以下语法:

From: "name" <email-address>
Run Code Online (Sandbox Code Playgroud)

在你的情况下:

From: "Testing Site" <admin@myserver.com>
Run Code Online (Sandbox Code Playgroud)

您的Reply-To标题也是如此:

Reply-To: "Testing Site" <admin@myserver.com>
Run Code Online (Sandbox Code Playgroud)

如果它与From标题相同,您可以省略(如您的情况).

PS:RFC 2822 声明应引用地址中的显示名称.换句话说:以下3个标题应该全部有效:

From: "Testing Site" <admin@myserver.com>
From: 'Testing Site' <admin@myserver.com>
From: Testing Site <admin@myserver.com>
Run Code Online (Sandbox Code Playgroud)


小智 0

如果您使用 WordPress,您可以查找 Hotmail/Outlook 友好电子邮件功能的插件。

但是,如果它是一个独立的脚本,您可能想在 URL 上查看 Microsoft 对此查询的官方答案: http: //answers.microsoft.com/en-us/outlook_com/forum/oemail-osend/why-are-the-电子邮件发送至 Microsoft 帐户/b64e3e4a-0d93-40c8-8e28-4be849012f9c

简而言之,电子邮件服务器提供商必须填写此表格(一次):https://support.live.com/eform.aspx? productKey=edfsmsbl3&ct=eformts&wa=wsignin1.0&scrx=1

为了让 Hotmail/Outlook 接受他们的电子邮件。