読者です 読者をやめる 読者になる 読者になる

Postfix::イントラ内の転送とか(transport)

同一のイントラ内にメールとばしたいのですが
そのドメインがグローバルを持ってしまっていて、
/etc/hosts」にインターナルIPを割り振ったのに見に行ってくれません。

反抗期なのでしょうか。

Q 4.10. メールの送信に /etc/hosts ファイルを参照させるには?

A. PostfixDNS が前提で作られており、通常メール送信時には DNS に MX レコードを問い合わせ、見つからなければメールの送信ができません。 MX レコードが見つからない場合に A レコードを検索するには
ignore_mx_lookup_error = yes
としますが、この設定で /etc/hosts ファイルを参照させることはできません。 また、[example.com] のようにして MX レコードの検索を禁止しても、 /etc/hosts を参照することができません。

強制的に hosts ファイルを使うためには、main.cf で

disable_dns_lookups = yes
を指定します。ただしこの場合、MXレコードを使うことはできないので、 イントラネット専用メールサーバでなければ relayhost を 指定する必要があるかもしれません。

注意: disable_dns_lookupsPostfixDNS クライアントを 無効にして libc (OS 標準) のリゾルバを使って名前解決をおこなう オプションであり、一切の DNS 検索をおこなわなくなるわけではありません。

ですって。なので仕方なくtransportで解決します。


- /etc/postfix/main.cf

transport_maps = hash:/etc/postfix/transport

transport見に行くようにして

- /etc/postfix/transport

example.com :[192.168.0.11]
.example.com :[192.168.0.11]
# サブドメイン持って行きたい場合は2つ目みたいに別個で設定が必要

って書いて

# postmap /etc/postfix/transport

# strings /etc/postfix/transport.db
で中身ができていればおk

あとはメールログの中身みてちゃんと転送されていれば
みっしょんこんぷりーと :)