WEBサービス構築の際のメール送信サーバー設定とスパムメールにならない対応方法

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

インターネットサービスを構築する際に、ユーザー登録を行う場合、フェイスブック、ツィッター、GmailなどのOpenIDサービスを利用するサービスが増えていますが、メールを使ってのログインを行うケースが未だに標準といっても過言ではありません。
 

OpenIDは、一般的に使っているであろうSNS系サービスが主流ですが、100%ユーザーがそのサービスを使っている可能性が無いため、どうしても直接ログインできる手法が必要になってしまいます。
 

メールアドレスであれば、捨て垢も含めてその本人の確認も取れて手法として間違ってはいませんが、利用ユーザーのパスワード管理が煩雑になるというデメリットは置いておくことにする。

Linuxサーバーにおけるpostfix設定

sendmailと言えば「postfix」を利用するのが今どきのMTAの主流です。
 

なので、今回はpostfixの簡単設定を行いたいと思います。
 

postfixのインストール

Linuxサーバーでは以下のコマンドで速攻インストールが可能。

 

MTA切り替え

デフォルトではsendmailになっているのを以下のように切り替え作業を行ってください。
 

 

上記のようになっている場合は、[1+enter」でpostfixをsendmailとしてMTAを切り替えられます。
 

 

上記のようになれば完了です。
 

main.cfの書き換え

/etc/postfix/main.cf がpostfixの基本的な設定ファイルになるので、このファイルを以下のようにすることで、メール送信が可能になります。
 

 

この設定で、ローカルサーバーから外部に向けたメール送信が可能になります。
 

具体的にはphpのmail関数が機能するようになります。
 

DNSの設定

最後にDNSの登録を行ってあげることで、メールサーバーとしては成立することになります。
 

mxレコードに、”mail.example.com”
Aレコードに、”mail.example.com *IP-address*”
 

スパムメールフォルダに入らなくするために・・・

最後に余談ですが、上記のままメールを送信すると、gmailではスパムメールに入る確率が高いです。
 

ここでは、phpのmb_send_mailを使った場合に、header情報に”REPLY-TO:”を入れることで、スパムメールフォルダに入る状況を回避することができます。
 

ただし、スパムメールはもう少し奥の深い仕様があるので、それでもスパム扱いされるという方は以下のページを参照してみてください。
 

https://blog.formzu.com/reason_for_being_treated_as_spam
 

セキュアなメール送信を心がける

今回はphpでメール送信のみをおこなためのsendmail(postfix)設定を行いましたが、外部からの踏み台にされないようにしたり、無意味なスパムメール送信を行わないようにちゃんとセキュリティだけは抑えて置かなければいけません。
 

mailサーバーの構築は古くからのsmtpの仕様を学習しないといけないので、オライリーのsendmail書籍をかなり分厚いですが、読んで学習してみてはいかがでしょうか?
 

きっとメール文化はまだまだ廃れませんよ。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です