URAMIRAIKAN

1020のなれの果て (since 2005.6.19)

送信専用のPostfix設定

 監視システムによる障害通知やスクリプトの成否通知のため、送信専用MTAの設定を繰り返していたので備忘録。
 ローカルのみで使うことが前提です。

 MTAをホスト毎に作らなくても…とは思ったのですが、既存のポリシーを踏襲するとこうなったのは余談です。
 やはり、フル機能のメールサーバはちゃんとしたサービスを利用するのがいいですね。メールサーバの勉強ならともかく、運用のあれこれを気にするリソースは他に振り分けたいので。

 例によってCentOSまたはRHEL 6/7を使うことがほとんどなので、ディストリビューション標準のPostfixを使う。
 設定は以下の通り(デフォルトからの変更のみ記載)

 まずは基本の"/etc/postfix/main.cf"

# ホスト名 myhostname = host.example.com # ドメイン mydomain = example.com # 送信メールのドメイン名 myorigin = $mydomain # メール中継を許可するネットワーク(ローカルホストのみ) mynetworks = 127.0.0.1 # メールの送信先(特定のMTAへ転送) relayhost = relay.example.com:587 # 上記送信先MTAの認証情報(SMTP認証) smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/authinfo smtp_sasl_security_options = noanonymous smtp_sasl_mechanism_filter = plain # ローカルメール配送を無効化 local_transport = error:local delivery is disabled

 続いてメール配送サービスの定義"/etc/postfix/master.cf"から"smtp"と"local"をコメントアウト。

#smtp inet n - n - - smtpd #local unix - n n - - local

 "main.cf"中で定義したファイル"/etc/postfix/authinfo"にSMTP認証情報を記載。

relay.example.com:587 mailuser:password

 上記のファイルからハッシュ化したDBを作成するため"postmap"コマンドを実行。

# postmap /etc/postfix/authinfo

 あとはサービス起動(または再起動)で完了。