プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Postfix、メールヘッダの「Return-Path」を設定する
結論から書くと

1.「canonical」ファイル編集
 「元のユーザ名 新しい送り先」の形で追記
root hoge@example.com

2.「canonical.db」ファイル作成
 以下のコマンドを実行
postmap canonical

3.「main.cf」ファイル編集
 以下の内容を追記
sender_canonical_maps = hash:/etc/postfix/canonical

4.Posftfix再起動
 以下のコマンドを実行
/etc/init.d/postfix restart

で設定できます。
※パス等は適時ご自身の環境に合わせて読み替えてください。

それでは詳細を見ていきましょう。

そもそものきっかけはお問い合わせフォームでした。

お問い合わせフォームからのメールを「hoge@example.com」に送って、
「hoge@example.com」宛のメールは携帯電話に転送するように設定していたのですが、届かない。

「hoge@example.com」には届いている。

でも携帯電話のメールアドレスには届かない。

何でだぁ!?<( ̄◇ ̄;)>

というのがきっかけです。

それであれやこれやと調べたところ、メールヘッダに

Return-Path: <webmaster@localhost.localdomain>

とか書いてありました。

あー、これだな(--ゞ
Return-Pathがおかしいから、スパムかなんかだと判断されて、
携帯側のメールサーバで蹴られているのでしょう。
適切なReturn-Pathを設定してやればきっと届く!……はず!

早速調べてみました。

使ってるメールサーバはPostfixなので、
PostfixでReturn-Pathを設定する方法……と。

ふむふむ(--)

分かりました。

まずは

/etc/postfix/canonical

をviとかで開きます。
※パスは違うかもしれないので、適時読み替えてください。

次に、開いた「canonical」ファイルに以下の内容を追記して保存します。

元々のReturn-Pathのアカウント名 設定するReturn-Path

私の環境では元々のReturn-Pathに「webmaster@localhost.localdomain」が設定されていました。
これを「hogehoge@example.com」宛に送るようにしたかったので

webmaster hogehoge@example.com

を追記しました。

次に以下のコマンドを実行します。

postmap canonical

このコマンドを実行すると、以下のファイルが作成されます。

/etc/postfix/canonical.db

次に

/etc/postfix/main.cf

をviとかで開いて、以下の内容を追記します。

sender_canonical_maps = hash:/etc/postfix/canonical

「bash:/etc/postfix/canonical」の部分は環境に合わせて変えてください。

あっ、ついでなんで「myhostname」も書き換えておきますかね。

myhostname = localhost.localdomain

の部分を

#myhostname = localhost.localdomain
myhostname = example.com

とか書き換えます。そして保存。

「canonical」の編集&「canonical.db」の作成と「main.cf」の編集は
どちらが先でも問題ありません。
お好きな順番でどーぞ(--)ノ

あとは

/etc/init.d/postfix restart

を実行して、Postfixを再起動すれば、Return-Pathが設定されているはずです。

そんな感じ\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● 環境設定関連  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事