自宅サーバー(Postfix)から外へメールを送る

あまり必要性はないのだが、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)同じ。

*1:smtp_generic_mapsだとヘッダが書き換わらないという意味じゃ無いよ