我正在使用Postfix,Dovecot,Postgrey和spamassasin / spamd运行
Linux.
这是我的main.cf
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination,reject_invalid_hostname,reject_unauth_pipelining,reject_non_fqdn_sender,reject_unknown_sender_domain,reject_non_fqdn_recipient,reject_unknown_recipient_domain,check_policy_service inet:127.0.0.1:10030
解决方法
您可以配置postfix以使用Spamassasin / Amavis作为代理过滤器.这样可以防止退回:在完成垃圾邮件检查之前,与SMTP远程端的连接将保持打开状态,并且后缀将以OK或REJECTED消息进行响应.这样,远程端负责跳出.
# master.cf # mail inbound smtp inet n - - - - smtpd -o smtpd_proxy_filter=127.0.0.1:10024 -o smtpd_client_connection_count_limit=10 -o smtpd_proxy_options=speed_adjust # spamassasin/amavis is listening to port 10024 and sending it's # checked mail to port 10025 amavis unix - - n - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes # SMTP return (from amavis/spamassasin) localhost:10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_override_options=no_address_mappings -o mynetworks=127.0.0.0/8 -o receive_override_options=no_unknown_recipient_checks
# main.cf # for rejecting spam header_checks = pcre:/etc/postfix/header_checks
# header_checks /X-Spam-Level: \*{9,}/ REJECT Looks like spam to me.
如果你使用Amavis来调用spamassasin,你可以让Amavis为你拒绝邮件 – 拒绝threashold可以配置$sa_kill_level_deflt.使用Amavis时,将SMTP返回条目中的no_header_body_checks添加到receive_override_options.