私のpostfixは現在スパムである可能性があるEメールを拒否します。ただし、連絡先のサーバーの一部が正しく構成されていないため、電子メールが拒否されないようにしたいと思います。
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_non_fqdn_recipient
reject_unknown_recipient_domain
reject_unauth_destination
reject_unknown_reverse_client_hostname
reject_invalid_helo_hostname
reject_non_fqdn_helo_hostname
reject_non_fqdn_sender
reject_non_fqdn_recipient
reject_unknown_sender_domain
reject_unknown_recipient_domain
reject_invalid_hostname
check_recipient_access proxy:pgsql:/etc/postfix/pgsql/virtual_access_list.cf
#check_sender_access proxy:pgsql:/etc/postfix/pgsql/virtual_sender_list.cf
permit_dnswl_client list.dnswl.org
reject_rbl_client zen.spamhaus.org
reject_rbl_client blackholes.easynet.nl
reject_rbl_client bl.spamcop.net
reject_rbl_client cbl.abuseat.org
reject_rbl_client ix.dnsbl.manitu.net
reject_rbl_client b.barracudacentral.org
reject_rbl_client psbl.surriel.com
reject_rbl_client noptr.spamrats.com
reject_rbl_client dyna.spamrats.com
reject_rbl_client dnsbl.sorbs.net
permit
しかし、私の部族の連絡先のすべての送信者を自動的にホワイトリストに追加したいと思います。だからこの行を追加しようとしました。
check_sender_access proxy:pgsql:/etc/postfix/pgsql/virtual_sender_list.cf
次の構文を使用します。
user = horde
password = xxxx
hosts = xxx
dbname = horde
query = SELECT ??? FROM turba_objects WHERE object_email='%s'
しかし、ロジックは不明です。
連絡先のすべての項目を「OK」値に設定するにはどうすればよいですか?正しい構文は何ですか?
このアプローチはうまくいきますか?自分の連絡先のすべての送信者からの電子メールがそのリストの1つにスパムとしてマークされているか、形式が正しくない場合でも自動的に受け入れられるという目標を達成していますか?ベストプラクティスは何ですか?
答え1
次のコマンドを試してください
sed -r '/\s+#/s/.*/&\nuser = horde\npassword = xxxx\ndbname = horde\nquery = SELECT ??? FROM turba_objects WHERE object_email='%s'/g' filename| sed -r 's/\s+#//g'