仮想エイリアスマップを使用し、spamassassinを設定して、多数のホストドメインに対して小さなPostfix(およびDovecot)メールサーバーを実行します。
最近、後方散乱が発生していることが明らかになりました。スパムメールは存在しないメールアドレスに送信され、偽造された送信者に返送されます。これは明らかに、メールサーバーの評判の問題であり、スパマーに代わってスパムを送信していることも意味します。
次に、Postfixの動作を変更して、バウンスメールフォームMAILER-DAEMONを生成する代わりに、SMTPトランザクション中にメールが拒否されるようにします。
Local_recipient_maps( http://www.postfix.org/LOCAL_RECIPIENT_README.html )を追加しようとしましたが、違いはありませんでした。これは、virtual_alias_mapsを使用しているためだと思います(他の仮想メールボックスソリューションもここでは適用されないようです)。
postconf -nは以下を生成します:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
html_directory = no
inet_interfaces = all
inet_protocols = all
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
mail_owner = postfix
mail_spool_directory = /var/spool/mail
mailbox_size_limit = 0
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
message_size_limit = 0
mydestination = $myhostname, localhost.$mydomain, localhost
mydomain = verrotech.com
myhostname = mail.verrotech.com
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.domain.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.domain.com/privkey.pem
smtpd_tls_security_level = may
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/virtual
ありがとうございました。
いくつかの調査の後、あなたの質問は私が私のメールサーバーで同じ問題を抱えていることを理解させたので、最初に、ありがとう。
次に、デフォルトでは、postfixがこの種のトラフィックをブロックすることに注意してください。マニュアルでは smtpd_reject_unlisted_recipient :
smtpd_reject_unlisted_recipient (デフォルト:はい)
明示的なreject_unlisted_recipientアクセス制限が指定されていない場合でも、Postfix SMTPサーバーが不明な受信者アドレスのメールを拒否するように要求します。これにより、Postfixキューが配信不能なMAILER-DAEMONメッセージで一杯になるのを防ぎます。
では、なぜ宛先不明のメールについて250 OK
を取得するのですか?これらの行のため:
mydestination = $ myhostname、localhost。$ mydomain、localhost
virtual_alias_maps = hash:/ etc/postfix/virtual
smtpd_reject_unlisted_recipient
は宛先メールをチェックしますが、具体的には次のとおりです。
アドレスは、virtual(5)エイリアスまたはcanonical(5)マッピングと一致する場合、常に「既知」と見なされます。
The recipient domain matches $mydestination, $inet_interfaces or $proxy_interfaces, but the recipient is not listed in $local_recipient_maps, and $local_recipient_maps is not null. The recipient domain matches $virtual_alias_domains but the recipient is not listed in $virtual_alias_maps. The recipient domain matches $virtual_mailbox_domains but the recipient is not listed in $virtual_mailbox_maps, and $virtual_mailbox_maps is not null. The recipient domain matches $relay_domains but the recipient is not listed in $relay_recipient_maps, and $relay_recipient_maps is not null.
mydestination
には$mydomain
(サーバー名とlocalhostのみ)が含まれておらず、*_domains
が設定されていないため、「既知の」宛先に対する他のチェックはありません。
あなただけを追加する必要があります:
virtual_alias_domains = $ mydomain
リロード後置。 (私があなたの設定を正しく取得していて、すべてのメールが「[email protected]」の形式である場合)
それがうまくいかない場合は、これを試してみてください:
smtpd_recipient_restrictions = permit_mynetworks、reject_unauth_destination、reject_unverified_recipient
注:incomingとoutgoingの両方のメッセージに対して宛先trullyが存在するかどうかは、RCPT TO
コマンドを介してチェックされます。 注意して使用新しい宛先ごとに追加の接続を作成し、サーバーが処理するすべてのメールに応答するのに時間がかかります(各宛先のテストには数秒かかる場合があります)。
この答えはあなたが求めていたものとは正確には一致しませんが、これが私自身のユースケースで問題を解決した方法です。
バウンスの破棄:
/etc/postfix/main.cfgには、
2bounce_notice_recipient = devnull
bounce_notice_recipient = devnull
bounce_queue_lifetime = 0d
delay_warning_time = 0h
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
/ etc/postfix/aliasesには、次のようになっています。
devnull: /dev/null
次に、実行します:
postmap aliases
postfix reload
最終結果は、バウンスが/ dev/nullに移動することです。それはそれらすべてを捕まえないかもしれないので、YMMV。これで問題が解決するかどうかお知らせください。