私のPostfix設定では、特定のTLDドメイン(私の場合は「.info」で終わるすべてのドメイン)からの受信メールをすべて「無効」にしたいと考えてい/etc/postfix/rejected_domains
ます。ドメインをブロックする私の通常の方法は、次のようなハッシュファイルを使用することです。
[...]
bla.info REJECT Spam
blubb.info REJECT More Spam!
[...]
そして、ファイルに次の構成を追加しますmain.cf
:
# domains to be restricted
smtpd_sender_restrictions = hash:/etc/postfix/rejected_domains
reject_unauth_destinations = hash:/etc/postfix/rejected_domains
すべての情報をブロックするための私のアイデアは、上記のファイルに次のルールを追加することでした:
*.info REJECT Toooo much spam
.info REJECT Toooo much spam
残念ながらこれは機能しないようです。
2.8.5-2~build0.10.04
ここでは Ubuntu LTS 10 でpostfix を使用します。
答え1
ハッシュはリテラル(完全一致)用なので、正規表現または pcre を使用します。
としてオーバーマインド指摘したように、すでに値がある場合はこれらを追加したいので、既存の値を確認することができます。
postconf smtpd_sender_restrictions
postconf reject_unauth_destinations
次に、次のように上書きします。
postconf -e smtpd_sender_restrictions=pcre:/etc/postfix/rejected_domains
postconf -e reject_unauth_destinations=pcre:/etc/postfix/rejected_domains
/etc/postfix/rejected_domainsの内容:
/\.info$/ REJECT All Info Domains
その後postfix reload
答え2
smtpd_helo_restrictions =
permit_mynetworks
permit_sasl_authenticated
check_helo_access hash:/etc/postfix/helo_blacklist
check_helo_access hash:/etc/postfix/helo_whitelist
reject_invalid_helo_hostname
reject_non_fqdn_helo_hostname
reject_unknown_helo_hostname
helo_blacklist内
info REJECT INFO tld blocked
実行するpostmap helo_blacklist
info で終わる helo を表示するサーバーでは、次のようなエラーが発生します。
Helo command rejected: INFO tld blocked;
答え3
受け入れられた回答とは異なり、smtpd_sender_restrictions
は を直接取得するのではなくpcre:
、 を必要としますcheck_sender_access type:table
。
smtpd_recipient_restrictions =
check_sender_access pcre:/etc/postfix/sender_access
次に、次の/etc/postfix/sender_access
ようになります。
/\.info$/ 550 I do not accept mail from .info
/\.icu$/ 550 https://blocked.icu/