我目前拥有一个通过 GoDaddy.com 购买的域名,它为我提供了满足最常见需求的基本电子邮件设置。我将其配置为将所有邮件转发到[email protected]
。[email protected]
我还拥有一个运行 Postfix 的虚拟服务器,我将其用于特定网站(所有到 的邮件somedomain.com
都通过 LMTP 转发到我编写的程序)。
由于我最近受到一些垃圾邮件发送者的骚扰,由于 GoDaddy 似乎不过滤垃圾邮件,并且由于我的 Windows Phone 的 Pocket Outlook 无法过滤垃圾邮件,因此我想通过将SpamAssassin
我的域的 MX 记录更改为我的服务器来过滤入站垃圾邮件
我的理想设置如下:
- 所有发送的邮件都会
somedomain.com
像往常一样通过虚拟传输通过 LMTP 重定向无需任何垃圾邮件检查 - 所有邮件都会
[email protected]
被重定向[email protected]
到严密的垃圾邮件检查 - 我不在乎,
[email protected]
因为我现在只使用一个地址 - 我想使用自定义垃圾邮件规则来训练 SpamAssassin,可能基于某些关键字的存在(我发现重复出现的某些退订页面的链接)
我目前使用以下方式配置 Postfix
运输
somedomain.com lmtp:[127.0.0.1]:8025
.somedomain.com error: Cannot accept mail for this domain
中继
somedomain.com OK
(我想我也应该补充mydomain.com OK
一下)
虚拟的
@mydomain.com [email protected]
(看起来像一条包罗万象的规则,作为要求 3 是可以的)
我安装了 SpamAssassin,我可以rcspamd start
将其设置为随服务器启动,但我不知道在 Postfix 中是否还有其他用途,以及如何应用要求 1(仅过滤发往 mydomain.com 的邮件)
我还尝试通过 Telnet 发送电子邮件,以确保我的设置已准备好进行 MX 更改。我的帐户收到了该消息,但我发现它经过了 secureserver.net,就像 Postfix 没有重写目的地而只是中继了该消息一样。
提前谢谢您。我不是 SpamAssassin 方面的专家,而且我对 Postfix 也没有什么经验(足以避免让我的服务器开放中继)
答案1
您是否已将 SpamAssassin 设置为内容过滤器或者smtpd_proxy_filter?
Postfix 需要知道如何与 SpamAssassin 通信。我一直将 Postfix 与某种 SMTP 代理一起使用(例如阿马维斯或者控制盒) 所以我不确定 SpamAssassin 是否附带自己的 SMTP 代理。弄清楚这一点,如果您想要后队列过滤,请使用内容过滤器;如果您想要前队列过滤,请使用 smtpd_proxy_filter。在前队列过滤器的情况下,smtp 代理需要一种重新注入邮件的方法,因此您必须在 master.cf 中创建新的传输。内容过滤器在 main.cf 中设置,而 smtpd_proxy_filter 必须在 master.cf 中设置。