たまーにしかやらないので忘れないようにする場所。
めっちゃ参考になるところ
http://www.rinneza.com/junya/tech/solaris8_x86/sendmail_8.12.10_cf_setup.html
http://blog.azumakuniyuki.org/2011/08/4-ways-to-relay-email-from-sendmail-to.html
http://www.gadgety.net/shin/tips/unix/sendmail.html
メールゲートウェイを複数指定する
sendmail.mcで指定する場合
:区切りで複数指定すると、左から順に接続を試みます。
全部ダメならmqueueに溜め込み、設定された再送間隔に則ってリトライします。
define(`SMART_HOST', `mailer:hostname')dnl
ex. define(`SMART_HOST', `maingateway.ne.jp:subgateway.ne.jp:smtp.sendgrid.ne.jp')dnl
mailertableで指定する場合
FEATURE(`mailertable')で使えるmailertable。
,区切りで複数指定できます。
hoge.ne.jp smtp:[maingateway.ne.jp,subgateway.ne.jp,smtp.sendgrid.ne.jp]
.hoge.ne.jp smtp:[maingateway.ne.jp,subgateway.ne.jp,smtp.sendgrid.ne.jp]
特定の宛先以外のメールを送信させない
mailertableで制御する
FEATURE(`mailertable')で使えるmailertable。
*hoge.ne.jp宛のメールのみ送信。残りは/dev/nullに捨てます。
mailertableはsendmail.cfのrelay設定より先に評価されるので、ここで捨てておけば余計なメールが飛ぶことはありません。
hoge.ne.jp smtp:[maingateway.ne.jp,subgateway.ne.jp,smtp.sendgrid.ne.jp]
.hoge.ne.jp smtp:[maingateway.ne.jp,subgateway.ne.jp,smtp.sendgrid.ne.jp]
. local:trash
mailertableとsendmail.cfの評価順
mailertableはsendmail.cfのrelay設定より先に評価されます。
再送間隔
何らかの理由でメールが送信できなかった場合、
mqueueに溜め込み、設定された再送間隔に従って再送信を試みます。
デフォルトでは30分。
define(`confMIN_QUEUE_AGE', `30m')dnl
define(`confTO_HOSTSTATUS', `30m')dnl
queueに入ってから一定期間経過したメールは再送を諦め、返送されます。
デフォルトでは5日。
設定値は下記。
define(`confTO_QUEUERETURN', `5d')dnl
再送間隔(2)
なんらかの理由によりqueueで配送待ちとなっているメールの再送間隔。
前述したHOSTSTATUSとの優先順位などはわからっていない。←必要になったら調べます。
QUEUE=1h
1mなら1分
テスト
再送間隔
ちゃんと設定通りの間隔でメール再送を行うかを確認するため、
メールをすぐ配信せずにqueueに入れる。
DeliveryMode=qオプションを使えばOK。
echo "5mintest" | sendmail -ODeliveryMode=q atesaki@mail.domain.com
sendmail.mcとsendmail.cf
sendmail.mcはsendmailの設定ファイルの元。
sendmail.mcからm4コマンドでsendmail.cfを作成します。
m4 sendmail.mc > sendmail.cf
出来たsendmail.cfを設定置き場に上書いてから(ex. cp -i sendmail.cf /etc/mail/ )
その後restart
/etc/init.d/sendmail stop
/etc/init.d/sendmail start