メール送信時にユーザ毎に異なるドメインを付加して送信する際の設定

複数のドメインホスティングを1台のLinuxで行う際に、suEXEC が有効化されたApacheCGIからsendmail する場合に、各ユーザのドメインをデフォルトで付加するように設定したときのメモ。結論から言うと canonical アドレスマッピングを使うことで実現できた。

  • 以下が手順 (CentOS4.5 + Postfix 2.2.10 で確認。)

vi /etc/postfix/canonical にて、以下の行を追加。

inahou1 inahou1@example.com
inahou2 inahou2@example.jp

以下を実行して、canonical.db を作成

# postmap /etc/postfix/canonical 

vi /etc/postfix/main.cf にて、以下の行を追加。

#canonical_maps = hash:/etc/postfix/canonical  <-- 送信元と送信先の両方に適用する場合
sender_canonical_maps = hash:/etc/postfix/canonical  <-- 送信元だけに適用する場合
#recipient_canonical_maps = hash:/etc/postfix/canonical  <-- 送信先だけに適用する場合

以下を実行

# postfix reload

そして、以下を実行して、envelope-fromとFromヘッダがinahou1@example.com になっていることを確認。

# sendmail -f inahou1 foo@example.com