フォームで有った怖い事
当サービスとは関係ないのですが、仕事柄で色々とメールフォームを見てきて有った困った点をまとめて見ました。
これは実話です。
Outlookでの「次の人の代理で送信しました 」
この現象は、WebサーバーでのApacheの実行ユーザー名@サーバーのドメイン名と、メールのFROMに設定したメールアドレスが異なっている場合に発生します。
メールフォーム内で何も行わないと、メールのヘッダー情報の「sender」や「x-sender」に上記のApacheの実行ユーザー名@サーバーのドメイン名が設定されて、メールが送付されます。
Outlookは、両方を比較して異なる場合に、「次の人の代理で送信しました 」として、両方のアドレスを表示します。
この現象の回避法は、phpのmailやmb_send_mail関数の呼び出し時に、sendmailコマンドへのオプションとして「-f」とメールFROMのアドレスを渡せば、sendmailコマンドは、「sender」や「x-sender」に指定をしたメールFROMのアドレスを設定してメールを送信します。
※このオプション指定は、Windows版PHPの場合にエラーが発生する恐れがあります。
ただ、これで問題解決かと言うと、残念ながら、「X-Authentication-Warning」ヘッダー問題が加わる場合があります。
なんと、このヘッダーが加わると、メールがSPAM扱いされる確率が高くなります。
なぜ、このヘッダーが加わるかと言うと、メールサーバーのsendmailが「メールの送信者を偽装している確率があるよ」と言う意味で付加いたします。
※因みに、メールサーバーがPostfixの場合は発生しません。
この場合、Webサーバーの/etc/mail/trusted-usersに、Apacheの実行ユーザー名を登録する事で回避できます。
上記設定が出来ない場合は、SPAM扱いの確率が高く成よりは、「次の人の代理で送信しました 」付きのメールにした方が良いと思います。
これらは途中で変わることが少ないので、設置後にテストで申し込みを行い、メールヘッダーの確認を行っておくことが大切です。