SPF、DKIM、およびリバース DNS が構成されたメール サーバーが正常に動作しています。次のようなものを使用して、Outlook.com に電子メールを送信できます。
echo "This is only a test" | mail username@outlook.com
同じサーバーを使用して PHP 経由で電子メールを送信しようとすると、問題が発生します。
$header .= "Return-Path: Some User <mailsender@mydomain.com>\r\n";
$header .= "From: Some User <mailsender@mydomain.com>\r\n";
$header .= "Content-Type: text/plain; charset=iso-8859-1\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "User-Agent: Some User Mail Sender\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n";
mail("usernama@outlook.com","My title", "Message body", $header);
appmaildev.com を使用してメッセージを確認しようとしましたが、レポートには次のように記載されています。
DKIM result: fail (wrong body hash: <*** body hash ***>)
このエラーがあっても、Outlook.com は DKIM 検証に合格したと言っていますが、PHP のメール機能によって送信されたすべてのメッセージはジャンク フォルダーに移動します。以下は、Bash および PHP を介して直接送信されるメッセージの例です: http://pastebin.com/ndXJszic
誰でも私を助けることができますか?
ありがとう。
EDITヘッダーから\rを 削除した後、DKIM ボディ ハッシュ エラーはなくなりました。しかし、まだ Outlook に電子メールを送信できません...