mail コマンド (Heirloom mailx) のFrom指定省略時の挙動



# id
uid=0(root) gid=0(root) groups=0(root)

# uname -n # NXDOMAIN

また、MTA (Postfix) の設定は下記の通り。

# /etc/postfix/

mydestination = $myhostname, localhost.$mydomain, localhost
myorigin = $mydomain
mydomain =
myhostname =


postfix の myorigin は効かない。 なぜなら、今回利用した mail コマンド (Heirloom mailx) の仕様により、自動的に hostname をくっつけるため。

Heirloom mailx (MUA: メールユーザーエージェント) はPostfix (MTA) とは別物。

# mail -S "smtp=smtp://localhost:25" -s test_mail
> test mail death yo
> .

Oct 17 11:27:41 db postfix/qmgr[19681]: 8E5CB4115D: from=<>, size=636, nrcpt=1 (queue active)
Oct 17 11:27:41 db postfix/smtpd[19689]: disconnect from localhost[]
Oct 17 11:27:41 db postfix/smtp[19693]: Trusted TLS connection established to hoge[]:25: TLSv1 with cipher DHE-RSA-CAME
LLIA256-SHA (256/256 bits)
Oct 17 11:27:42 db postfix/smtp[19693]: 8E5CB4115D: to=<>, relay=hoge[]:25, delay=0.42, delays=0.04/
0.01/0.31/0.05, dsn=5.1.8, status=bounced (host hoge[] said: 553 5.1.8 <>... Domain of sen
der address does not exist (in reply to MAIL FROM command))


はい、-r を付けて、MTAに渡すFromを指定しましょう。

# mail -S "smtp=smtp://localhost:25" -r root -s test_mail

sendmail コマンド はpostfixのものに置き換わるので、そっちはセーフ。