Ubuntu9.04 Serverを設定する – mailxとmailutilsの違い
「mailx」と「mailutils」の違いについて、気付いたことがあったので、メモ。
「mailx」も「mailutils」もmailコマンドが使用でき、以下のようにコマンドを入力するとメールが送信できます。このコマンドを実行すると、本文に「test」と書かれたメールが「user」宛に送信されます。root宛にテストメールを送信するときなどによく使う手です。
echo test|mail user
ですが、このときmailutilsのmailコマンドはなぜか「user」を「user@host」(hostはホスト名)に補完してからpostfix等のMTAに渡しているようです。
さらに、Postfixはデフォルトで「user」を「user@$myorigin」に、「user@host」を「user@host.$mydomain」に、それぞれ補完します。
これによってどういう事が起きるかというと、宛先をただ「user」とした場合(@以下を省略した場合)、mailutilsのmailコマンドでは「user@host.$mydomain」宛にメールが送信され、mailxのmailコマンドでは「user@$myorigin」宛にメールが送信されることになります。
つまり、mailutilsを利用している場合は、postfixのmain.cfにあるmyoriginの値が反映されないわけです。この事を知らなくて、1日つぶしてしまいました…
mailutilsの設定ファイルかなんかを開いて編集すればこの辺をコントロールできるのかもしれませんが、よく分かりません。