モーグルとカバとパウダーの日記 このページをアンテナに追加 RSSフィード Twitter

モーグルやカバ(EXカービングスキー)、山スキー(BC)の山行記録などがメインの日記です。
いろんな条件のいろんなところを、その時々の条件にあった滑り方で楽しむ、フリースキーをして遊んでいます。

検索で来られた方は、上の検索窓から再度検索していただくか、右サイドバーのカテゴリーやトピックスの項目で絞り込んでみてください。
仕事柄、コンピュータ系のネタも多いので、スキー関連ネタだけ読みたい方は[ski]、コンピュータ関連ネタは[pc]、スパム関連ネタは[spam]で絞り込んでください。

2010-06-24 (Thu)

[]Gmailで予想外のメールループ Gmailで予想外のメールループを含むブックマーク Gmailで予想外のメールループのブックマークコメント

Gmailからの転送でメールループのエラーで転送できない、という問い合わせがあって、MTAだけで完結しないメールループというのを初めて経験したのでメモ。


Gmailアカウントから自メールアドレスへ転送設定をすると、転送先サーバからメールループのエラーメールが返って来るという状況でした。

確かに、Gmailから転送しようとされてきたメールに対しては「mail forwarding loop」でbounceしているというログが残っていました。

しかし、設定やログ見てもGmailには転送している記録はないため、メールループにはならないはず、と思えました。


postfixはどうやってループを検出しているんだろう?と思ってぐぐったところ「Deliverd-To」フィールドの内容と送付先が同じ場合にループ判定しているということがわかりました。

[postfix-jp: 783] mail forwarding loop

local(8)デーモンは、配送先のアドレスがすでにDelivered-To:にあるメッセージを"mail forwarding loop"としてbounceします。


ということは、どこかで「Deliverd-To」フィールドを追加してしまっている?と思って、エラーメールの内容を良く確認したところ、確かにDeliverd-Toフィールドに転送先のアドレスが書かれていました。

これがなぜついてるかはすぐにわかりました。Deliverd-Toのすぐ上に「X-Gmail-Fetch-Info」フィールドが付いていたので。

Gmailでは、他のメールサーバからPOP等でメールを取ってくるという設定が出来るのですが、これで取得したメールについては「X-Gmail-Fetch-Info」と「Deliverd-To」フィールドが追加されるようです。


つまり、あるメールサーバからGmailでPOPで取得している上に、そこ宛に転送もしようとしているので、だからループになるからエラーになった、というわけです。

これだと、MTAだけでループは完結せず、途中にPOP3サーバなどのMRAが介在してループが完成します。

なので、メールサーバのログを眺めただけでは、なぜループが発生していると言われるのかわからない、という状況になります。

トラックバック - http://d.hatena.ne.jp/stealthinu/20100624/p1
リンク元