我正在使用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.