Winmail 反垃圾邮件指南

使用 Winmail 时, 比较有效的过滤垃圾邮件的设置,本文适用于 Winmail 7.0 以上版本,老版本建议升级,本文档2024,3,19 更新,旧版本参考:老版本设置方法


以下设置根据多个实际运行的邮件系统总结出来的, 效果很好, 一般可以有 90% 的垃圾邮件识别率. 以下几个步骤是在 "Winmail 管理端工具" 中设置.

前置检查:
下面的过滤功能是基于外部邮件来源 IP 和来源域名分析检测的,所以要首先要保证邮件主机可以直接看到外部连接进来的源 IP,有些路由器或者防火墙由于设置问题,导致邮件主机只能看到该设备的内网 IP 或者固定 IP,要去联系厂商修改设置, 可以从多个外部不同域名的邮箱发邮件到系统里的邮箱,再检查"系统日志" 下的 "SMTP 日志",找一下相关的"Connect from"连接记录:
    Connect from xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx 应该是外网的ip。如果是 192.168.*.*,10.*.*.*,172.16.*.* 等内部 Ip 或者固定不变的外网Ip,请联系路由器或者防火墙设备厂商修改设备设置,直到日志里可以显示正确的外网Ip。
如果有使用了垃圾邮件过滤设备,也不能启用下面的设置。Winmail Pro for Linux 一样可以参考本文设置。

设置步骤:
1. 进入"系统设置"/"SMTP 设置"/"基本参数", 选择以下选项.
    . 认证发信时间发件人必须是本系统的域下用户 (如果需要帮别的邮件系统做中继,可以不选)
        . 发件人和认证用户必须一致 (如果有网站等第三方系统需要发信的,可以不选)
    . 以本系统中域名发邮件时必须认证
        . 排除 IP 白名单中的主机(含内网地址)


winmail

  再进入"反垃圾设置"/"SMTP 过滤", 选择以下选项.
    . 允许 MAIL FROM 命令中出现空地址 (MAIL FROM: <>)
    . SMTP 通信中,检查邮件地址的有效性
    . 给本邮件系统所有域发邮件时,检查邮箱是否存在 [收件人验证]
    . 查询 DNS 检查发件人邮件地址中的域名是否存在
    . 检查 HELO/EHLO 主机名的 A 记录或 MX 记录 B Class 匹配连接的 IP 地址
        . 当检查主机名失败,检查发送者邮件地址中的域名A 记录或 MX 记录
    . 拒绝“HELO/EHLO 过滤“中列出的HELO/EHLO 主机名
    . 启用 SPF(Sender Policy Framework) 检查   SPF 简介
    . 启用 DKIM(DomainKeys Identified Mail) 检查   DKIM 介绍
    . 垃圾邮件处理
        . 拒绝接收    保存到隔离区(建议选择)


winmail

说明:
陷阱邮箱: 将一个本系统内的邮箱地址公开在网站上,让垃圾邮件发送者收录,当给这个邮箱发邮件时,系统会自动将发送者的 IP 屏蔽一段时间, 这个邮箱在系统里可以不存在,陷阱邮箱不会真正收到外部邮件。

隔离区: 系统判断为垃圾邮件后(非IP级过滤),临时放在收件人邮箱的隔离区暂放,邮箱用户可以在 Webmail 首页查看隔离区里的邮件列表,可以取回正常邮件、加发件人到个人白名单并取回; 系统定时会发“隔离提醒邮件”给邮箱用户;隔离区里的邮件默认保留30天。

管理员可以在管理工具里查看隔离区邮件的摘要信息,进行重发被隔离邮件、加白名单等操作;

在管理端隔离区 "设置" 里,可以设置系统的 Webmail URL 参数,邮箱用户会收到的“隔离提醒邮件”里面会有取回和加白名单的链接,可以在邮件里直接操作;也可以设置隔离邮件保留天数和通知邮件发送间隔时间

“隔离提醒邮件”默认是英文的,可以到"系统设置"/"高级设置"/"系统参数" /"基本参数",将"系统邮件模版域名"改成 "Chinese(Simplified)"简体中文。

winmail

winmail

2. 进入 "反垃圾设置"/"黑白名单设置"/"HELO/PTR 过滤",在"HELO/PTR 主机黑名单"里 输入自己主机名和IP, 标称这种信息的一般都是垃圾邮件.

winmail

为了防止误过滤常用邮件系统的邮件,在"PTR 主机白名单"里,加入一下记录:
.alibaba.com
.aol.com
.apple.com
.facebook.com
.google.com
.hotmail.com
.mail.
.outlok.com
.qq.com
.yahoo.com
outbound

3. 进入"反垃圾设置"/"RBL/RWL 设置"
启用 RBL 过滤. RBL(Real-time Black List, 实时 IP 黑名单) 可以增加
b.barracudacentral.org
bl.spamcop.net
psbl.surriel.com
sbl.spamhaus.org
cbl.abuseat.org

启用 DBL 过滤. DBL(Domain Black List, 实时域名黑名单, Winmail 6.3 起支持) 可以增加
dbl.spamhaus.org
multi.surbl.org

RWL 不建议启用.
winmail

4. 进入"反垃圾设置"/"在线垃圾邮件库"
启用,主机会定时更新官网提供的过滤规则库,主机需要能访问互联网.
winmail

5. 进入"反垃圾设置"/"内嵌图过滤"
启用,输入收到的图片垃圾邮件里的文字关键字. 由于这个功能比较消耗系统资源,建议下图里的”邮件大小参数”不要大于150KB,“仅过滤来自外域的邮件”也选中.
winmail

6. 内嵌二维码过滤 - 过滤内嵌二维码(包括信体里内嵌二维码图、图片附件里二维码、docx 附件里的二维码图片)的钓鱼邮件 [7.2以上版本支持]
可以进入"反垃圾设置"/"邮件过滤",按以下增加过滤规则:
winmail

邮件头 不包含: x-wm-authuser:
OCR 包含:qr-code:http
OCR 不包含:/weixin|dingtalk.com|alipay.com|wechat.com|qq.com|jd.com|aliyun.com|tb.cn|ems.com|goofish.com/

这条规则是过滤全部包含二维码的外网进来的邮件,排除了微信、钉钉、淘宝等常见二维码,自己可以根据需要修改.

7. 进入"系统设置"/"高级设置"/"系统参数",在"基本参数"里,启用"猜密码检测",按照下图设置:

winmail

"将屏蔽 IP 加入系统防火墙": 将判断的来源 IP 加到 Windows 系统防火墙过滤规则里,降低对邮件服务程序性能影响。
"白名单列表"里可以加需要忽略的 IP(单个IP、IP段、IP来源地) 和系统里的邮箱用户。

[企业版、旗舰版] 进入"反垃圾设置"/"SMTP 过滤",选择"启用流量控制",将"本系统内邮箱用户每小时发送的收件人数"设置为 100
winmail

8. 过滤规则 - 防止假冒内部发信
目前有些垃圾邮件和钓鱼邮件的发件人是假冒收件人同域名的,邮件看上去是内部用户发的,甚至是自己发给自己的,可以进入"反垃圾设置"/"邮件过滤",按以下增加过滤规则:

winmail

发件人: #local# 邮件头: X-WM-AuthUser: "保存到隔离区" 可以改成 "丢弃此邮件"。

设置了过滤规则后,请做基本的收发邮件测试,包括内部和外部,以防止规则有问题,导致正常邮件被过滤。

[可选项] - 过滤收件人为空

目前很多垃圾邮件收件人是空的,可以进入"反垃圾设置"/"邮件过滤",按以下增加过滤规则:

winmail

日常维护:
完成上面设置后,平时要多检查 Winmail 里的 smtp 和 queue 队列日志,设置比较严格可能会有些本身设置不规范的邮件系统的邮件发不进来, 可以将对方邮件地址或者域名加到"反垃圾设置"/"黑白名单设置"/"发件人过滤"中的"发件人白名单"里,对方主机 ip 加到"反垃圾设置"/"黑白名单设置"/"IP 地址过滤"中的"发信 IP白名单"里。

如果还是会收到垃圾邮件,这种往往是设置比较规范,可以将对方的邮件地址或者域名加到"反垃圾设置"/"黑白名单设置"/"发件人过滤"中的"发件人黑名单"里,非免费邮箱建议加域名,免费邮箱建议加邮件地址。

特别提示:
qq.com, 163.com, 126.com, sina.com, gmail.com, hotmail.com 等免费邮箱域名不能加到"反垃圾设置"/ "黑白名单设置"/"发件人过滤"中的"发件人白名单"里, 系统自己的域名也不能加到"反垃圾设置"/"黑白名单设置"/"收件人过滤"中的"收件人白名单"里, 否则会导致大量的假冒垃圾邮件进入。