我已经使用 postfix 设置了 spamassassin。问题是我尝试通过将 GTUBE 垃圾邮件测试电子邮件从 gmail 发送到我的邮件服务器来测试 spamassassin 默认过滤器。Spamassassin 甚至没有检查该电子邮件,或者在这种情况下,没有检查任何传入电子邮件。但 spamassassin 只检查外发电子邮件,如果我尝试从我的服务器将 GTUBE 测试电子邮件发送到我的 gmail 帐户,spamassassin 会阻止它。我从头开始,每次都出现同样的问题。请帮忙
我的 postfix master.cf 文件:
# # Postfix 主进程配置文件。有关格式的详细信息 # 有关文件的详细信息,请参阅 master(5) 手册页(命令:“man 5 master”或 # 在线:http://www.postfix.org/master.5.html)。 # # 编辑此文件后,请不要忘记执行“postfix reload”。 # # ========================================================================== # 服务类型 private unpriv chroot wakeup maxproc 命令 + 参数 # (是) (是) (否) (从不) (100) # ========================================================================== smtp inet n - y - - smtpd 提交 inet n - y - - smtpd -o content_filter=垃圾邮件过滤器 -o syslog_name=postfix/提交 -o smtpd_tls_security_level =加密 -o smtpd_tls_wrappermode=否 -o smtpd_sasl_auth_enable=是 -o smtpd_relay_restrictions=permit_sasl_authenticated,拒绝 -o smtpd_recipient_restrictions =允许我的网络,允许sasl身份验证,拒绝 -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth #smtp inet n - y - 1 postscreen #smtpd 通过 - - y - - smtpd #dnsblog unix - - y - 0 dnsblog #tlsproxy unix - - y - 0 tlsproxy #提交 inet n - y - - smtpd # -o syslog_name=postfix/submission # -o smtpd_tls_security_level =加密 # -o smtpd_sasl_auth_enable=是 # -o smtpd_tls_auth_only=yes # -o smtpd_reject_unlisted_recipient=否 # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,拒绝 # -o milter_macro_daemon_name=起始 #smtps inet n - y - - smtpd # -o syslog_name=postfix/smtps # -o smtpd_tls_wrappermode=是 # -o smtpd_sasl_auth_enable=是 # -o smtpd_reject_unlisted_recipient=否 # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,拒绝 # -o milter_macro_daemon_name=起始 #628 inet n-y--qmqpd 拾音器 unix n - y 60 1 拾音器 清理 unix n - y - 0 清理 qmgr unix n - n 300 1 qmgr #qmgr unix n - n 300 1 oqmgr tlsmgr unix - - y 1000?1 tlsmgr 重写 unix - - y - - trivial-rewrite 弹跳 unix - - y - 0 弹跳 推迟 unix - - y - 0 反弹 跟踪 unix - - y - 0 反弹 验证 unix - - y - 1 验证 刷新 unix n - y 1000? 0 刷新 代理映射 unix - - n - - 代理映射 proxywrite unix - - n - 1 proxymap smtp unix - - 是 - - smtp 中继 unix - - y - - smtp -o syslog_name=postfix/$服务名称 # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 showq unix n - y - - showq 错误 unix - - y - - 错误 重试 unix - - y - - 错误 丢弃 unix - - y - - 丢弃 本地 unix-nn--本地 虚拟 unix - nn - - 虚拟 lmtp unix - - y - - lmtp anvil unix - - y - 1 anvil scache unix - - y - 1 scache # # ==================================================================== # 与非 Postfix 软件的接口。请务必检查手册 # 非 Postfix 软件的页面来找出它需要什么选项。 # # 以下许多服务都使用 Postfix pipe(8) 传递 # 代理。有关 ${recipient} 的信息,请参阅 pipe(8) 手册页 # 和其他消息信封选项。 # ==================================================================== # # maildrop。有关详细信息,请参阅 Postfix MAILDROP_README 文件。 # 还在 main.cf 中指定:maildrop_destination_recipient_limit=1 # maildrop unix-nn--管道 标志=DRhu 用户=vmail argv=/usr/bin/maildrop -d ${recipient} # # ==================================================================== # # 最近的 Cyrus 版本可以使用现有的“lmtp”master.cf 条目。 # # 在 cyrus.conf 中指定: # lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4 # # 在 main.cf 中指定下列一项或多项: #邮箱传输 = lmtp:inet:localhost #虚拟传输 = lmtp:inet:localhost # # ==================================================================== # # Cyrus 2.1.5(Amos Gouaux) # 还在 main.cf 中指定:cyrus_destination_recipient_limit=1 # #cyrus unix - nn - - 管道 # 用户 = cyrus argv = / cyrus / bin / deliver -e -r $ {sender} -m $ {extension} $ {user} # # ==================================================================== # 通过 Cyrus 进行交付的旧示例。 # #old-cyrus unix - nn - - 管道 # 标志=R 用户=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user} # # ==================================================================== # # 查看 Postfix UUCP_README 文件了解配置详细信息。 # uucp unix-nn--管道 标志=Fqhu 用户=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) # # 其他外部交付方法。 # ifmail unix-nn--管道 标志 = F 用户 = ftn argv = / usr / lib / ifmail / ifmail -r $ nexthop($ recipient) bsmtp unix-nn--管道 标志=Fq。用户=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient scalemail-backend unix-nn-2 管道 标志=R 用户=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension} mailman unix-nn--管道 标志=FR 用户=列表 argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${用户} policyd-spf unix-nn-0 生成 用户=policyd-spf argv=/usr/bin/policyd-spf spamassassin unix-nn--管道 用户 = spamd argv = / usr / bin / spamc -f -e /usr/sbin/sendmail -oi -f ${发送者} ${收件人}
我的 spamassassin 配置:
#/etc/default/spamassassin # 邓肯·芬德利 # 警告:使用前请阅读 README.spamd。 # 可能存在安全风险。 # 如果你使用 systemd(jessie 的默认设置),则 ENABLED 设置为 # 未使用。相反,通过发出以下命令启用 spamd: #systemctl 启用 spamassassin.service # 更改为“1”以在使用 sysvinit 的系统上启用 spamd: 已启用=1 # 选项 # 请参阅 man spamd 了解可能的选项。-d 选项会自动添加。 # SpamAssassin 使用预分叉模型,所以要小心!你需要 # 确保 --max-children 的设置不大于 5, # 除非你知道自己在做什么。 选项=“--create-prefs --max-children 5 --用户名 spamd --helper-home-dir /home/spamd/ -s /home/spamd/spamd.log” # Pid 文件 # spamd 应该将其 PID 写入文件何处?如果您使用 -u 或 # --上面的用户名选项,这需要由该用户可写。 # 否则,init 脚本将无法关闭 spamd。 PIDFILE="/var/run/spamd.pid" # 设置 spamd 的良好级别 #NICE="--nicelevel 15" # 定时任务 # 设置为除 0 之外的任何值,以启用 cron 作业自动更新 # 每晚的 spamassassin 规则 CRON=1
我的 spamasssassin 日志:
2019 年 8 月 12 日星期一 13:23:47 [16867] 信息:logger:删除 stderr 方法 2019 年 8 月 12 日星期一 13:23:48 [16898] 信息:缩放:能够使用 346/346“body_0”编译规则(100%) 2019 年 8 月 12 日星期一 13:23:48 [16898] 信息:spamd:服务器已于 IO::Socket::IP [::1]:783、IO::Socket::IP [127.0.0.1]:783 启动(运行版本 3.4.2) 2019 年 8 月 12 日星期一 13:23:48 [16898] 信息:spamd:服务器 pid:16898 2019 年 8 月 12 日星期一 13:23:48 [16898] 信息:spamd:服务器成功生成子进程,pid 16900 2019 年 8 月 12 日星期一 13:23:48 [16898] 信息:spamd:服务器成功生成子进程,pid 16901 2019 年 8 月 12 日星期一 13:23:48 [16898] 信息:prefork:子状态:SI 2019 年 8 月 12 日星期一 13:23:48 [16898] 信息:prefork:子状态:II 2019 年 8 月 12 日星期一 13:25:13 [16900] 信息:spamd:从 ::1 [::1]:58002 到端口 783 的连接,fd 5 2019 年 8 月 12 日星期一 13:25:13 [16900] 信息:spamd:正在处理 spamd:1001 的邮件 2019 年 8 月 12 日星期一 13:25:13 [16900] 信息:dns:new_dns_packet:域名为 utf8 标记:ns-467.awsdns-58.com 2019 年 8 月 12 日星期一 13:25:13 [16900] 信息:dns:new_dns_packet:域名为 utf8 标记:ns-1622.awsdns-10.co.uk 2019 年 8 月 12 日星期一 13:25:13 [16900] 信息:dns:new_dns_packet:域名为 utf8 标记:ns-1158.awsdns-16.org 2019 年 8 月 12 日星期一 13:25:13 [16900] 信息:dns:new_dns_packet:域名为 utf8 标记:ns-552.awsdns-05.net 2019 年 8 月 12 日星期一 13:25:14 [16900] 信息:spamd:在 0.3 秒内识别出 spamd:1001 的垃圾邮件(998.9/5.0),1610 字节。 2019 年 8 月 12 日星期一 13:25:14 [16900] 信息:spamd:结果:Y 998 - ALL_TRUSTED、DKIM_SIGNED、DKIM_VALID、DKIM_VALID_AU、GTUBE、HTML_MESSAGE、TVD_SPACE_RATIO、TVD_SPACE_RATIO_MINFP scantime=0.3、size=1610、user=spamd、uid=1001、required_score=5.0、rhost=::1、raddr=::1、rport=58002、mid=、autolearn=no autolearn_force=no 2019 年 8 月 12 日星期一 13:25:14 [16898] 信息:prefork:子状态:II 2019 年 8 月 12 日星期一 13:42:12 [16900] 信息:spamd:从 ::1 [::1]:58122 到端口 783 的连接,fd 5 2019 年 8 月 12 日星期一 13:42:12 [16900] 信息:spamd:正在处理 spamd:1001 的邮件 2019 年 8 月 12 日星期一 13:42:12 [16900] 信息:dns:new_dns_packet:域名为 utf8 标记:ns-467.awsdns-58.com 2019 年 8 月 12 日星期一 13:42:12 [16900] 信息:dns:new_dns_packet:域名为 utf8 标记:ns-1622.awsdns-10.co.uk 2019 年 8 月 12 日星期一 13:42:12 [16900] 信息:dns:new_dns_packet:域名为 utf8 标记:ns-1158.awsdns-16.org 2019 年 8 月 12 日星期一 13:42:12 [16900] 信息:dns:new_dns_packet:域名为 utf8 标记:ns-552.awsdns-05.net 2019 年 8 月 12 日星期一 13:42:12 [16900] 信息:spamd:0.2 秒内为 spamd:1001 清理邮件(-1.1/5.0),1573 字节。 2019 年 8 月 12 日星期一 13:42:12 [16900] 信息:spamd:结果:。-1 - ALL_TRUSTED、DKIM_SIGNED、DKIM_VALID、DKIM_VALID_AU、HTML_MESSAGE scantime=0.2、size=1573、user=spamd、uid=1001、required_score=5.0、rhost=::1、raddr=::1、rport=58122、mid=、autolearn=ham autolearn_force=no 2019 年 8 月 12 日星期一 13:42:13 [16898] 信息:prefork:子状态:II 2019 年 8 月 12 日星期一 14:35:03 [16900] 信息:spamd:从 ::1 [::1]:58214 到端口 783 的连接,fd 5 2019 年 8 月 12 日星期一 14:35:03 [16900] 信息:spamd:正在处理 spamd:1001 的邮件 2019 年 8 月 12 日星期一 14:35:04 [16900] 信息:dns:new_dns_packet:域名为 utf8 标记:ns-1622.awsdns-10.co.uk 2019 年 8 月 12 日星期一 14:35:04 [16900] 信息:dns:new_dns_packet:域名为 utf8 标记:ns-467.awsdns-58.com 2019 年 8 月 12 日星期一 14:35:04 [16900] 信息:dns:new_dns_packet:域名为 utf8 标记:ns-552.awsdns-05.net 2019 年 8 月 12 日星期一 14:35:04 [16900] 信息:dns:new_dns_packet:域名为 utf8 标记:ns-1158.awsdns-16.org 2019 年 8 月 12 日星期一 14:35:04 [16900] 信息:spamd:0.3 秒内为 spamd:1001 清理邮件(-1.1/5.0),1501 字节。 2019 年 8 月 12 日星期一 14:35:04 [16900] 信息:spamd:结果:。-1 - ALL_TRUSTED、DKIM_SIGNED、DKIM_VALID、DKIM_VALID_AU、HTML_MESSAGE scantime=0.3、size=1501、user=spamd、uid=1001、required_score=5.0、rhost=::1、raddr=::1、rport=58214、mid=、autolearn=ham autolearn_force=no 2019 年 8 月 12 日星期一 14:35:04 [16898] 信息:prefork:子状态:II
spamassassin 日志中的几行表明这是一封垃圾邮件,那些测试垃圾邮件(GTUBE 邮件)是从我的服务器发送的。
从图中可以看出,spamassassin 只扫描发送的电子邮件,而不扫描接收的电子邮件
答案1
由于您在 master.cf 文件的条目中进行过滤submission
,因此只有当客户端发送邮件时才会检查您的邮件。要检查传入邮件,您必须在smtp
master.cf 的部分中进行定义。
不要忘记main.cf
也检查文件!