mail
コマンドでメールが届かない!
サーバからmail
コマンドでちょっとしたメールを飛ばしたかったのだが、メールが届かなかった
ログを見てみると
Domain of sender address xxx@xxxxx not exist
となっていた
@以下はこのサーバのhostname
になっていて、これはDNS登録してないので、たしかに存在しない
それで先方のメールサーバから拒否られてるわけだ
From:
のドメインが変えられない!
じゃあFrom:
のドメイン名を適当な存在するドメイン名に変えればいいじゃないかと思い調べるとpostfix
のmain.cf
でmyorigin
を設定すればOK、と出てきたのだが、これをしてもなぜかFrom:
のドメインが変わらない
mail
コマンドを使うときに-r
オプションを使ってFrom:
を指定してあげれば問題は解決するのだけど、mail
コマンドを使う時に毎回それを書かないといけないのはちょっと嫌だ
mail -r from@xxxx.co.jp to@xxxx.co.jp
それにせっかくpostfix
にmyorigin
という設定があるんだからできないわけないのだ、なのになかなか原因が見つからない
解決
mailutils
のmail
コマンドを使ってるとmyorigin
は無視して勝手にhostname
を使うんだそうな、なにそれ
というわけで代わりにbsd-mailx
のmail
コマンドをインストールすれば解決
sudo apt install bsd-mailx
これだけで問題ないと思うが、必要があればupdate-alternativeを使ってちゃんとbsd-mailxを使うように変更
sudo update-alternative --config mailx