前提
CentOS7
# id uid=0(root) gid=0(root) groups=0(root) # uname -n db.example.jp # NXDOMAIN
また、MTA (Postfix) の設定は下記の通り。
# /etc/postfix/main.cf mydestination = $myhostname, localhost.$mydomain, localhost myorigin = $mydomain mydomain = example.com myhostname = db.example.com
From省略時
postfix の myorigin
は効かない。
なぜなら、今回利用した mail
コマンド (Heirloom mailx) の仕様により、自動的に hostname
をくっつけるため。
Heirloom mailx (MUA: メールユーザーエージェント) はPostfix (MTA) とは別物。
# mail -S "smtp=smtp://localhost:25" -s test_mail user@external.example.com > test mail death yo > . Oct 17 11:27:41 db postfix/qmgr[19681]: 8E5CB4115D: from=<root@db.example.jp>, size=636, nrcpt=1 (queue active) Oct 17 11:27:41 db postfix/smtpd[19689]: disconnect from localhost[127.0.0.1] Oct 17 11:27:41 db postfix/smtp[19693]: Trusted TLS connection established to hoge[0.0.0.0]:25: TLSv1 with cipher DHE-RSA-CAME LLIA256-SHA (256/256 bits) Oct 17 11:27:42 db postfix/smtp[19693]: 8E5CB4115D: to=<user@external.example.com>, relay=hoge[0.0.0.0]:25, delay=0.42, delays=0.04/ 0.01/0.31/0.05, dsn=5.1.8, status=bounced (host hoge[0.0.0.0] said: 553 5.1.8 <root@db.example.jp>... Domain of sen der address root@db.example.jp does not exist (in reply to MAIL FROM command))
やめてくれ
はい、-r
を付けて、MTAに渡すFromを指定しましょう。
# mail -S "smtp=smtp://localhost:25" -r root -s test_mail user@external.example.com
sendmail
コマンド はpostfixのものに置き換わるので、そっちはセーフ。