1 min read
Cronのメールが届かなくなった
sendmail
のアップグレードをしたら届かなくなって焦った。
同LAN内に Postfix のメール鯖を建てており、そこ宛てに送ろうとしている。
だがなにをやっても送れない。
もちろん Postfix 側では同LANからの送信をすべて許可している。
- 送信元:
user@cron-server
- 送信先:
postmaster@mail-server
- 備考: 送信元の crontab 内で
MAILTO=postmaster@mail-server
/var/mail/${USER}
に以下のようなログが出力される。(抜粋)
Final-Recipient: RFC822; postmaster@mail-server
Action: failed
Status: 5.1.8
Remote-MTA: DNS; [127.0.0.1]
Diagnostic-Code: SMTP; 553 5.1.8 <postmaster@mail-server>... Domain of sender address user@cron-server does not exist
最初はメール鯖側が悪いのかと思っていたが、調べまくるとどうも sendmail
が自身のホストの検証に失敗している模様(?)
(メール関係には詳しくないので信じすぎないように)
# /etc/mail/access に自ホストをリレーで追記
cron-server RELAY
# /etc/mail/access は root 600 なので root 権限でDB再構築
# makemap hash /etc/mail/access.db < /etc/mail/access
このように自分自身を許可してあげるとちゃんと送れるようになった。
一件落着!