内部メールサーバと外部メールサーバで構築した環境でメールのループが起こってしまった
このメールサーバはPostfix 2.3.3で構築されていて/etc/postfix/transportで転送制御を行っている
行儀の悪いメールクライアントから Mail from:<root@IP Address>なメールを内部メールサーバに送信してきた
ここでPostfixのデフォルト設定では
postfix/smtp : warning: Illegal address syntax in MAIL command:
となって受け付けない。「そっちで直してよ」の心境だったけどそうも行かないので、これを受け付けるように設定をする
main.cfに
resolve_numeric_domain = yes
を追記してNumeric Domainの配送を許可します
外部メールサーバも同様な設定を行うことで行儀の悪いメールクライアントからのメール配送が外部受信者アドレスに送信されました
ところが、行儀の悪いメールクライアントが指定したRcpt to:にはUser unknownなメールも含まれていてエラーメールになって(rcpt to:<root@[IP Address]>)内部メールサーバに返ってくることがある
このrcpt to:<root@[IP Address]>なメールが内部メールサーバでは外部宛てのメールと判断して外部メールサーバに送信され、また内部に返ってきてのループ状態でリソースの消費とログの肥大化が起こってしまった
で、最終的に内部メールサーバの/etc/postfix/transportに
[IP Address] :
hogohoge.jp :
.hogehoge.jp :
* smtp:[外部メールサーバIP]
を記述後に
postmap /etc/postfix/transport
/etc/init.d/postfix reload
で解決しました
ちなみに
IP Address :
hogohoge.jp :
.hogehoge.jp :
* smtp:[外部メールサーバIP]
ではダメでした。考えてみれば分かることなんですがね
しかし、この行儀の悪いメールクライアントを何とかして欲しかったなぁ