Postfix transport の優先順位 [postfix]

Postfix のtransportは、sendmailで言えば、mailertableにあたる。
特定の宛先に対してメールの転送先を指定するスタティック配送テーブルです。

ただ、メールを処理する時にsendmailのmailertableとは参照される順番が
違うようです。

Postrix : transport > mydestination
sendmail : wマクロ、wクラス > maileertable

例えば、メールサーバ自身へlocal配送すべきメールを受信した場合、
スタティック配送テーブルにマッチする条件が書かれていると
Postfixの場合は、transportに記載されている内容のとおりメールを
転送しようとする。
sendmailの場合は、まず自身(Local)宛てか確認。自身宛てで無い場合
転送先を検索(mailertabke ⇒ SMART HOST ⇒ MX配送)するので
mailertableを検索する前にLocal配送の処理を行う。

Postfixのtransportの設定変更の際、下記の様な内容を追加したりする場合は
注意が必要(と自分に言い聞かせる)

・サブドメイン宛ての転送ルールを追加する。(.domain   transport:nexthop)
・その他すべてを表すアスタリスクを追加する。(*  transport:nexthop)

上記を追加する必要がある場合は、transport へLocal配送したいドメインを記載し、
nexthopにLocalと記載する。(localhost.domain   local:)

そして、main.cfのmydestinationには記載しても意味が無いから消す。

※ちなみに、 *  transport:nexthop  は relayhostより優先される。(当然か)

メールサーバのメールExchangeの基本は下記の様に覚えていた。
  1.自身あてか。
  2.自身宛てで無い場合、リレーが許可されているか。
  3.リレーが許可されている場合、スタティック配送が設定されているか。
  4.スタティック配送に該当しない場合、デフォルト配送が設定されているか。
  5.デフォルト配送に該当しない場合直接配送(MX配送)

昔の考え方なのかな。。

Postfixの処理を自分なりに整理すると、
  1.リレーが許可されているか。     1-1.許可されている場合、スタティック配送が設定されているか。(transport)⇒2へ     1-2.許可されていないばあい、自身(Local)宛てか。       1-2-1.自身宛ての場合、Local配送。       1-2-2.自身あてで無い場合、クライアントへリレー拒否を応答する。        2.スタティック配送で無い場合、自身(Local)宛てか。   3.自身(Local)宛てで無い場合、デフォルト配送が設定されているか。(relayhost)   4.デフォルト配送に該当しない場合直接配送(MX配送)

やっぱり慣れないな。。


Postfix 保留queue の配送先変更 (transport) [postfix]

記憶があいまいだったので検証してみました。

# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
B9A2CE3958 2936 Tue Aug 6 21:23:53 user@ak.fujimi.hoge.jp
(connect to 172.16.xxx.229[172.16.xxx.229]:25: No route to host)
root@yahoo.co.jp

-- 3 Kbytes in 1 Request.

/etc/postfix/transportに記載してある転送先IPを変更。
172.16.xxx.229 ⇒ 172.16.xxx.223

# postmap /etc/postfix/transport
# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
B9A2CE3958 2936 Tue Aug 6 21:23:53 user@ak.fujimi.hoge.jp
(connect to 172.16.xxx.229[172.16.xxx.229]:25: No route to host)
root@yahoo.co.jp

変更されない。。。

Postfixを reloadしてみる。
# service postfix reload

# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
B9A2CE3958 2936 Tue Aug 6 21:23:53 user@ak.fujimi.hoge.jp
(connect to 172.16.xxx.229[172.16.xxx.229]:25: No route to host)
root@yahoo.co.jp

変更されない。。。

postqueue で強制配送してみる。

# postqueue -f
[root@mxpf postfix]# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
B9A2CE3958 2936 Tue Aug 6 21:23:53 user@ak.fujimi.hoge.jp
(connect to 172.16.xxx.223[172.16.xxx.223]:25: Connection refused)
root@yahoo.co.jp

-- 3 Kbytes in 1 Request.

反映されているのが確認できた。問題無いようだ。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。