akishin999の日記

調べた事などを書いて行きます。

mail コマンドで from を変更する方法まとめ

シェルスクリプトでメール送信する際などに from を変更したい場合が時々あるのですが、ディストリビューションによってオプションの指定方法が異なっていたりすることが度々・・・。

毎回調べるのも面倒なので、この機会にまとめてみました。
mail コマンドは実装がいくつかあるので、何を使っているかによりオプションの指定方法を変更してやる必要があります。

Mail version 8.1 6/6/93

CentOS 5.3 環境に入っていた mail コマンド。

$ echo "Test Mail." | mail -s "test mail" to@example.com -- -f from@example.com

「-- -f」に続いて From に使用したいメールアドレスを指定します。

Heirloom Mail version 12.4 7/29/08

CentOS 6.3 環境に入っていた mail コマンド。

$ echo "Test Mail." | mail -s "test mail" -r from@example.com to@example.com

「-r」に続いて From に使用したいメールアドレスを指定します。
OpenSUSE 11.1 の mail コマンドも確かこれでした。

GNU Mailutils 2.2

Ubuntu 12.04 LTS 環境に入っていた mail コマンド。

$ echo "Test Mail." | mail -s "test mail" -aFrom:from@example.com to@example.com

「-aFrom:」に続いて From に使用したいメールアドレスを指定します。

丁度手元にあってすぐ試すことのできた環境のみなので、これ以外のバリエーションもあるかも知れませんが、大体この 3 パターンを知っていればなんとかなるんじゃないかと。

参考

email - Change the "From:" address in Unix "mail" - Stack Overflow
http://stackoverflow.com/questions/54725/change-the-from-address-in-unix-mail