내 postfix는 현재 스팸일 수 있는 이메일을 거부합니다. 그러나 내 연락처의 서버 중 일부가 올바르게 구성되지 않아 해당 이메일이 거부되지 않도록 하고 싶습니다.
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
다음 명령을 사용해보십시오
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'