PHP から送信されるメールを受信した際に「経由」の表示がされてしまうということがあり、これを表示されないようにする方法のまとめです。
※私の理解が間違っている可能性がありますし、より効率の良い方法があるかもしれないことをご了承ください。
「経由」の表示とは?
お問い合わせフォーム等からプログラムによって送られるメールを受信した際に、お使いのメール受信環境によりますが送信元の横に「経由」が表示されることがあります。これはお使いのメール受信環境でメールに付与されているヘッダーを確認し、送信元アドレスのドメインと送信メールサーバーのドメインが異なる場合に表示されます。メールを送る際に、送信元メールアドレスは簡単に偽装が行えますので、送信元アドレスと使われている送信メールサーバーのドメインが異なると警告として表示されます。
DKIM(DomainKeys Identified Mail)とは、電子署名を利用して送信元メールサーバーが偽装されていないか(正当なメールサーバーからの送信かどうか)を認証する仕組みです。
DKIMの流れ
1. 送信メールサーバーが電子署名を付けてメールを送信
2. 受信メールサーバーが電子署名を認証
→ このとき受信先メールサーバーは、メールのFromアドレスのドメインのDNSに問い合わせを行い、TXTレコードに登録された公開鍵を取得して電子署名の認証を行います。
3. 電子署名が正しく認証された場合、メールヘッダーに「dkim=pass」を付与して正当なメールであることをアピールする
→ その結果、(メーラーやWEBメールの仕様に依存しますが)迷惑メールフォルダ等に振り分けられる可能性が低くなります。
https://www.skysnag.com/ja/dkim-generator/
https://lab.tricorn.co.jp/yamada/4109