Postfixを外部公開してメールの送受信が外部と出きるようにします。私の家は、プロバイダーがOP25B対策をしていたのでサブミッションポート(587番)で受信します。OP25B対策についてはこちらのサイトを見てください。
1. 設定をする前に、ポートの開放
設定をする前に、ポートの開放をします。サーバーのファイアーウォールで、25番と587番を開放します。ルーター側でも同様に25番と587番を開放します。
2. Postfixの設定
ドメイン名 test.jp
ホスト名+ドメイン名 mail.test.jp
として設定していきます。
[root@localhost ~]# vi /etc/postfix/main.cf
設定の反映
[root@localhost ~]# postalias /etc/aliases
[root@localhost ~]# /etc/rc.d/init.d/postfix restart
3. SMTP認証をlinuxユーザーで行う
smtpd.confファイルを作成するのだが、環境によって作成する場所が変わるので注意して下さい。私の場合は下記の様にしました。
[root@localhost ~]# vi /usr/lib/sasl2/smtpd.conf (←32bit)
[root@localhost ~]# vi /usr/lib64/sasl2/smtpd.conf (←64bit)
4. メールを保管するデレクトリーの作成
送信するユーザーに対して、メールを保管するディレクトリーを作成する。
[root@localhost ~]# mkdir -p /home/ユーザー/Maildir/{cur,tmp,new}
[root@localhost ~]# chmod -R 700 /home/ユーザー/Maildir
[root@localhost ~]# chown -R ユーザー:グループ /home/ユーザー/Maildir
5. OP25B対策とサブミッションポートの準備
プロバイダーがOP25B対策をしている場合に設定してください。
・587番のポートでメールを送信する設定
[root@localhost ~]# vi /etc/postfix/main.cf
[root@localhost ~]# vi /etc/postfix/isp_account
[root@localhost ~]# chmod 600 /etc/postfix/isp_account
[root@localhost ~]# postmap /etc/postfix/isp_account
[root@localhost ~]# postfix reload
・587番のポートでメールを受信する設定(サブミッションポートの準備)
[root@localhost ~]# vi /etc/postfix/master.cf
以上の設定が完了したら、Postfixを再起動して、メールを送ってみよう。送信されたメールは、以下のフォルダーに格納されています。
[root@localhost ~]# ls -la /home/ユーザー/Maildir/new/
エラーの場合は、ログを確認してエラーを修復しましよう。
[root@localhost ~]# tail -n 50 /var/log/maillog
(失敗談 )
初めて外部公開したときは、ポートの開け忘れ、IPアドレスの設定ミス、メールのフォルダーのパーミッションの設定忘れなど、メールが受信できるまで大変苦労しました。今、現在も勉強中です。一旦公開し、運用を開始したサーバーの変更は困難なので、できれば運用する前にいろいろ触ってみることをお勧めします。