あまり必要性はないのだが、VMware上で時々起動しているLinuxOSから外にメールを送る設定の覚え書き。
何もしないと、Senderに送り返せないので駄目というエラーメールが返ってくる。
プロバイダが nifty で、アカウントが foofoobar@nifty.com、LinuxOSのホスト名が、myhost.local の場合。
(1) main.cf に設定
relayhost = [smtp.nifty.com] sender_canonical_classes = envelope_sender sender_canonical_maps = hash:/etc/postfix/sender_canonical
(2) /etc/postfix/sender_canonical ファイルの作成
@myhost.local foofoobar@nifty.com
(3) マップの作成
$ postmap hash:/etc/postfix/sender_canonical
(4) postfixの再起動/リロード
これで、Envelope From が foofoobar@nifty.com に書き換えられて送られる。。。。んだけど、何故かヘッダの From: も書き換わっている。
2009-07-02 追記
ヘッダまで書き換わってしまう以上、この目的用に設けられた、smtp_generic_maps を使った方がいいので、そう変える*1。こっちだとローカル向けのメールは書き換わらない。
(1) main.cf に設定
relayhost = [smtp.nifty.com] smtp_generic_maps = hash:/etc/postfix/sender_canonical
以下(2)(3)(4)同じ。