sendmailからaws sesへのリレー
なぜsendmailからSESか
以下の理由でタイトルのようなことをやった
・SESのSMTPはSecureな通信しか受け付けないが送信元の都合で使えなかった
・AWS内のサーバー(sendmail)から直接外にメールを送信しようとすると制限がある
具体的な設定
■SESへの接続情報
authinfoに記述
AuthInfo:email-smtp.xxxxxxxxxxxx.amazonaws.com "U:root" "I:AKIXXXXXXXXXXXXXXXX" "P:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "M:LOGIN"
■Secureな通信のための証明書や鍵の設定
証明書などの作成方法は省略。
作ったらsendmail.mcに設定する。
define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.crt.pem')dnl define(`confSERVER_KEY', `/etc/pki/tls/certs/sendmail.key.pem')dnl
■SESへのリレー設定
define(`SMART_HOST', `email-smtp.xxxxxxxxxxxxx.amazonaws.com')dnl define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl define(`confFROM_HEADER', `xxxxx@hoge.xxx')dnl FEATURE(`authinfo', `hash -o /etc/mail/authinfo.db')dnl
■設定した内容をsendmailが使える形式に変換
authinfo.dbとsendmail.cfを作成
makemap hash authinfo.db < authinfo m4 sendmail.mc > sendmail.cf
■sendmailの再起動
systemctl restart sendmail