• 締切済み

メールサーバの無限ループを対策する方法

メールサーバの無限ループを対策する方法について教えてください。 環境:Linux メールサーバ:sendmail とあるサイトでsendmailで無限ループを対策する方法として ヘッダに識別できるIDなどを追加してループしてるかを判断すると書かれておりました。 この設定はどうのようにすればよいのでしょうか。 m4マクロで形式でヘッダの項目を記入したいとおもってます。 sendmail.cfに直接書くことでヘッダに追加されることは確認しましたが sendmail.mcでの書き方がわかりません。 また、ヘッダに追加した識別IDをどのようにループと判断するように設定すればよいか わかりません、なにか参考になるサイトや設定方法などわかる方教えて頂けますか?

みんなの回答

  • pakuti
  • ベストアンサー率50% (317/631)
回答No.2

メールを受けた時に、ヘッダに挿入し削除するとした場合 ユーザーが自動転送して同じメールサーバーを通過したらメールが削除されません??? sendmailにはホップ数が25を超えた場合にメールループとして、bounceするはずですが これではダメなのでしょうか??

nicostars
質問者

お礼

回答ありがとうございます。 SaKaKashiさんの補足に回答しましたが リレーのみのため、ユーザがforwardなどをすることはありません。 最大hop数は設定にいれておりますが ループというのが少々気に入らなかったため 対応を考えておりました。

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

これのこと?

参考URL:
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9420&forum=10
nicostars
質問者

補足

ご回答頂きありがとうございます。 aliasを使って無限ループしているわけではないので ちょっと違いますがありがとうございます。 調べててprocmailを使用してレシピにX-loopを設定することで無限ループを止める方法を見つけたのですが これでも解決できない点がありました。 procmailはどうもspoolにはいった時点で処理がされるみたいで やりたいことはリレーされてきたメールをメールスプールに入る前に dropするメールなのかそれともリレーしてよいメールなのか判断したいのです。 無限ループなら(x-loopヘッダがついていれば)drop、そうでなければmailertableでリレーといったように。 このメールサーバはリレーのみとして使うためメールボックスはもっていません。 そのため、ユーザディレクトリに.forwardによる受信前処理等の対応もできない状態です。 他に案があればお願い致します。

関連するQ&A