web-dev-qa-db-ja.com

ローカル以外の送信者の場合、Eximが送信者ではなくポストマスターにバウンスを送信するようにします

外部ホストに転送する電子メールエイリアスがいくつかあります。現在、外部ホストがメッセージを拒否した場合、Eximはバウンスメッセージを生成し、元の送信者に送信します。外部ホストがメッセージをスパムとして拒否した場合(一般的なケース)、私は後方散乱スパムのソースであるため、これは悪いことです。

したがって、送信者がローカルでない場合は、代わりにバウンスをポストマスター(私)に送信したいと思います。または、allバウンスをポストマスターに送信するだけで十分です。

Eximのドキュメント ヒント これを行うことができます(「メッセージの配信に失敗した場合... Eximはメッセージを元の送信者または代替に送信します設定されたアドレス "、強調が追加されました)、しかし私は方法を見つけることができませんでした。

たとえば、作成されている後方散乱スパムを示すログの抜粋を次に示します(この場合、ソースサーバーと称されるものは接続を受け入れていません)。 [email protected][email protected]へのスパムメールの送信者とされており、[email protected]に転送されます。その後、GMailはメッセージを拒否し、サーバーは[email protected]へのバウンスを作成します。そのバウンスを代わりに[email protected]に移動させたいです。 (ユーザー名は難読化されています。ログの残りの部分は逐語的です。)

2011-10-03 12:03:08 1RAkyw-0000cj-45 <= [email protected] H=(gyajnj.com [113.190.35.111] P=esmtp S=33927 [email protected]
2011-10-03 12:03:09 1RAkyw-0000cj-45 ** [email protected] <[email protected]> R=dnslookup T=remote_smtp: SMTP error from remote mail server after end of data: Host gmail-smtp-in.l.google.com [74.125.47.26]: 552-5.7.0 Our system detected an illegal attachment on your message. Please\n552-5.7.0 visit http://mail.google.com/support/bin/answer.py?answer=6590 to\n552 5.7.0 review our attachment guidelines. i3si13239001yhk.107
2011-10-03 12:03:09 1RAkyz-0000cm-H5 <= <> R=1RAkyw-0000cj-45 U=Debian-exim P=local S=35124
2011-10-03 12:03:09 1RAkyw-0000cj-45 Completed
2011-10-03 12:03:30 1RAkyz-0000cm-H5 nacha.net [64.212.215.180] Connection timed out
2011-10-03 12:03:30 1RAkyz-0000cm-H5 == [email protected] R=dnslookup T=remote_smtp defer (110): Connection timed out

関連するルーターは次のとおりです。

dnslookup:
  debug_print = "R: dnslookup for $local_part@$domain"
  driver = dnslookup
  domains = ! +local_domains
  transport = remote_smtp
  same_domain_copy_routing = yes
  # ignore private rfc1918 and APIPA addresses
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
                        172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :\
                        255.255.255.255
  no_more
2
Reid

これを行う方法は errors_to ルーターのディレクティブ。 Eximは、それを選択的に行うためのいくつかの条件もサポートしていると思います。

0
Reid

いくつかのルールは、善よりも害をもたらすため、馬鹿げています!そして、それらを提唱し、作成する人々はそれを知っています。私は愚かなルールよりも郵便局長の倫理に関心があります。そして、私は愚かなルールと明らかにそれらのルールを設定する人々が嫌いです。あなたが私のようで、結果(上記を参照)を認識していて、ルールを台無しにしたい場合は、確かに、

1)送信者と受信者の確認を確立して、自分自身を保護する、または

2)すべてのnullポストマスターバウンスを失敗またはフリーズします。 eximシステムフィルターでそれを行う

system_filter = /etc/exim/screwtherules.exim
vi /etc/exim/screwtherules.exim
if $sender_address is ""
then
if ${lookup{${extract{2}{@}{$recipients}}}lsearch{/etc/localdomains}{yes}{no}} is "no"
then
fail text "Delayed bounce message ignored"
seen finish
endif
endif

3)OR acl_smtp_dataチェック時にACLを作成して、特定のホストに送信される、または送信されないnullバウンスメールを転送、失敗、またはフリーズします。 httpsで説明されているように、受信したヘッダー情報を抽出できます。 ://grepular.com/Exim_Trick_to_Extract_Received_Header_IP_Addresses

2
MickyMartin

あなたのアプローチはRFC5321に違反しており、送信者に配信またはバウンスする必要があります。非常に限られた例外のみがあります: http://tools.ietf.org/html/rfc5321#section-6.2

したがって、3つのオプションがあります

  1. すべてのバウンスをポストマスターに配信します
    これは無効です。例外なく。すべての送信者の正当なバウンス(クォータ超過、ディスクエラーなど)を破棄する状況があるためです。正当なクライアントと邪悪なスパマー。
  2. 中継メールからポストマスターにバウンスを配信する
    これは正当です。ただし、コンテンツ違反(スパム、ウイルス)には関係しないが、ユーザー不明、メールボックスがいっぱいなどのバウンスを破棄する穴が残ります。
  3. コンテンツ違反を示す中継メールからのバウンスをポストマスターに配信します
    完璧なソリューションですが、拡張構成が導入されています。

オプション3に進みます。ただし、これらのメールを転送する前に、メールの転送を禁止するか、スパムフィルタリングを増やすことをお勧めします。

1
mailq