インターネットサービスを構築する際に、ユーザー登録を行う場合、フェイスブック、ツィッター、GmailなどのOpenIDサービスを利用するサービスが増えていますが、メールを使ってのログインを行うケースが未だに標準といっても過言ではありません。
OpenIDは、一般的に使っているであろうSNS系サービスが主流ですが、100%ユーザーがそのサービスを使っている可能性が無いため、どうしても直接ログインできる手法が必要になってしまいます。
メールアドレスであれば、捨て垢も含めてその本人の確認も取れて手法として間違ってはいませんが、利用ユーザーのパスワード管理が煩雑になるというデメリットは置いておくことにする。
Linuxサーバーにおけるpostfix設定
sendmailと言えば「postfix」を利用するのが今どきのMTAの主流です。
なので、今回はpostfixの簡単設定を行いたいと思います。
postfixのインストール
Linuxサーバーでは以下のコマンドで速攻インストールが可能。
# Ubuntu系
$ apt-get install postfix
# CentOS系
$ yum install postfix
MTA切り替え
デフォルトではsendmailになっているのを以下のように切り替え作業を行ってください。
$ alternatives --config mta
選択 コマンド
-----------------------------------------------
1 /usr/sbin/sendmail.postfix
*+ 2 /usr/sbin/sendmail.sendmail
上記のようになっている場合は、[1+enter」でpostfixをsendmailとしてMTAを切り替えられます。
$ alternatives --config mta
選択 コマンド
-----------------------------------------------
+ 1 /usr/sbin/sendmail.postfix
* 2 /usr/sbin/sendmail.sendmail
上記のようになれば完了です。
main.cfの書き換え
/etc/postfix/main.cf がpostfixの基本的な設定ファイルになるので、このファイルを以下のようにすることで、メール送信が可能になります。
# メールサーバーのホスト名
myhostname = mail.example.com
# ドメイン名
mydomain = example.com
# 差出人のメールアドレスに使用されるドメイン名
myorigin = $mydomain
# メール受信を許可するアドレス(ローカルから外部への配送のみを許可)
inet_interfaces = 127.0.0.1
# IPv4 のみを有効にする
inet_protocols = ipv4
# メールサーバー自身に配送されたとみなすドメインのリスト
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# メールのリレー(転送)を許可するネットワーク(ローカルからのメールのみ転送を許可)
mynetworks = 127.0.0.0/8
この設定で、ローカルサーバーから外部に向けたメール送信が可能になります。
具体的には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書籍をかなり分厚いですが、読んで学習してみてはいかがでしょうか?
きっとメール文化はまだまだ廃れませんよ。
0 件のコメント:
コメントを投稿