他のサーバーdomain2(sendmailを使用)の前のdomain1にexim4をセットアップしています。 2番目のサーバーはインターネットに直接アクセスできないため、domain1はdomain2のMXです。また、domain2は、domain1のexim4でhubbed_Host
として設定されます。
スパマーがno_such_user @ domain2にメッセージを送信すると、そのsendmailは拒否します。
550 5.1.1 <no_such_user@domain2>... User unknown
次に、domain1のexim4は次のような自動応答を行います。
This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:
no_such_user@domain2
SMTP error from remote mail server after RCPT TO:<no_such_user@domain2>:
Host 10.0.0.1 [10.0.0.1]: 550 5.1.1 <no_such_user@domain2>... User
unknown
スパマーは偽の「from」フィールドを使用し、そのような生成されたメッセージはeximによって長期間凍結されます。
Exim4からの一部またはすべての自動返信を無効にするにはどうすればよいですか?理想的には、mailer-daemonから自動応答を生成しないよりも、「ユーザー不明」というエラーでメッセージが配信されなかった場合に、フィルターが必要です。
ありがとう!
このブログ投稿 があなたが探しているものだと思います。
問題:メールサーバーがメッセージを受け入れ、後でメッセージを配信できないと判断した場合、元のメッセージの送信者にバウンスメールを返送する必要があります。これらのバウンスメールは、しばしば誤った方向に向けられます。
多くのMTAには解決策があるので、
exim
の解決策は次のとおりです。解決策:この解決策は、フィルタリングを使用して、返送された電子メールを破棄します。したがって、eximには中央フィルターが必要です。このようなフィルターは、
exim.conf
構成ファイル[…]で構成できます。
あなたの問題は、RCPT時に受信者のアドレスを確認していないことです。これは簡単に修正できます。
受信者のコールアウト検証を使用します。あなたが話している「リモート」サーバーはあなたの管理下にあるので、これは悪用されません。
Acl_smtp_rcptに割り当てられたACLには、「verify = recipient」を実行するルールがあります。あなたのルールを知らなければ、私は何をすべきかを正確に言うことはできません。この行が「accept」ブロック内にある場合は、その直前に、「domains = domain2」制限が追加され、「verify = receive/callout」(これらの8文字を追加)を行う別のacceptブロックをほぼ同じように追加できます。最後に)。これが「accept」ではなく「require」ブロックにある場合は、そのブロックの後に、次のような拒否ブロックを追加できます。
deny domains = domain2
!verify = recipient/callout
タイムアウト、延期時のアクションなどを制御するためのオプションは他にもあります。Exim仕様の§40.42「コールアウトの追加パラメーター」(システムのどこかに「spec.txt」があるはずです)を参照してください。