You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SpamAssassin无法检测邮件网页链接,求排查原因

SpamAssassin自定义BADLINKS规则未触发的排查要点
  • 未适配邮件编码格式
    测试邮件里的src=3D"是Quoted-Printable编码后的内容,=3D对应原始字符=。如果你的正则基于解码后的内容编写,但使用了rawbody规则类型(处理未解码的原始邮件内容),或者用body规则但正则未兼容编码后的字符,就会匹配失败。
    解决思路:若要匹配解码后的HTML内容,使用body规则;若匹配原始内容,正则需包含=3D这类编码字符,或统一用rawbody适配编码格式。

  • 正则表达式匹配范围不足
    你的正则可能未覆盖HTML标签内的链接(比如<img src>属性中的URL),或未适配HTTPS协议、带参数的链接。例如正则仅写http://\S+会漏掉HTTPS链接,未考虑引号包裹的URL也会匹配失败。
    示例修正正则(匹配HTML属性中的HTTPS/HTTP链接):

    body BADLINKS /<(?:img|a)[^>]+src=("|')https?:\/\/\S+\1/i
    
  • 规则定义格式不完整
    检查local.cf中的规则定义是否符合规范:

    1. 必须指定规则类型(body/rawbody等),比如body BADLINKS /你的正则表达式/
    2. 必须设置规则得分,比如score BADLINKS 3.0(得分需达到可被检测的阈值)
    3. 正则分隔符需正确,若用/作为分隔符,正则内的/要转义,或更换为#等其他分隔符
  • 未考虑链接跳转中间层(后续DNS检查补充)
    测试邮件中的链接是SendGrid追踪链接,这类链接本身的A记录并非127.x.x.x,但会跳转至目标地址。若后续DNS检查仅查当前链接的IP,需添加跳转追踪逻辑(比如利用SpamAssassin的urirhssub插件检查跳转后的最终IP),不过当前需先解决规则匹配触发的问题。

内容的提问来源于stack exchange,提问作者Lasse Michael Mølgaard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 20:27:06