できるようにするにはDMARCの SPFのためのチェックが合格するともされ整列のsendmailを使用するときは、必ずエンベロープ送信者アドレス(設定されていることを確認し-f
たり-r
して、ドメインと一致して何かにパラメータ)をFrom:
先頭アドレス。
PHPの場合:
mail()
5番目のパラメーターを設定せずにPHPの組み込み関数を使用すると、DMARC SPFチェックが正しく行われないと整列されなくなります。デフォルトでは、sendmailはWebサーバーのユーザーをRFC5321 .MailFrom / Return Pathヘッダーとしてメールを送信します。
たとえばdomain.com
、host.com
WebサーバーでWeb サイトをホストしているとします。追加のパラメーターパラメーターを設定しない場合:
mail($to,$subject,$message,$headers); // Wrong way
電子メールの受信者は、次のメールヘッダーを持つ電子メールを受信します。
Return-Path: <your-website-user@server.host.com>
From: <your-website-user@domain.com>
これはSPFチェックに合格しますが、(domain.comとhost.comが一致しないため)調整されません。つまり、DMARC SPFチェックは調整されていないため失敗します。
代わりに、PHP 関数に5番目のパラメーターを含めて、エンベロープ送信者アドレスをsendmailに渡す必要があります。mail()
次に例を示します。
mail($to,$subject,$message,$headers, '-r bounce_email@domain.com'); // Right way
この場合、電子メールの受信者は次のメールヘッダーを持つ電子メールを受信します。
Return-Path: <bounce_email@domain.com>
From: <your-website-user@domain.com>
これらのヘッダーの両方にからのアドレスが含まれているためdomain.com
、SPFは通過し、アラインされます。つまり、DMARCもSPFチェックに合格します。