我们正在运行一个出站垃圾邮件过滤器,我们希望能够通过该过滤器发送邮件,即使它是发送给本地用户的。有没有办法强制 sendmail 使用 SMART_HOST,即使它要在本地发送?
例子
这就是我想要的。我的主机是example.com。如果我从 [email protected](使用 SMTP)向 [email protected] 发送电子邮件,我希望电子邮件从 mail.example.com 到 outbound.example.com 到 inbound.example.com,然后返回邮件.example.com。在不创建无限循环的情况下这可能吗?
是的,您还需要设置 MAIL_HUB 和 LOCAL_RELAY 选项。请参阅Sendmail 自述文件
MASQUERADING AND RELAYING
中的标题部分。仅在 Sendmail 中这是不可能的(据我所知)。但是,您可以做的是:
从理论上讲,这应该可以捕获几乎所有内容,但它可能会严重破坏事物。我不知道如果有人在本地调用 sendmail 会发生什么。如果您正在运行 webmail 安装,请检查您是否可以将其配置为通过 outbound.example.com 而不是本地发送所有电子邮件。
在 mail.example.com 中集成垃圾邮件过滤器可能更简单。
这听起来像是 procmail 作为 LDA 的工作。使用它为任何本地生成的电子邮件调用垃圾邮件过滤器。
定义(
PROCMAIL_MAILER_PATH',
/usr/local/bin/procmail')功能(local_procmail_lmtp)邮件(procmail)邮件(procmailnoalias)dnl并在您的全局 procmail 规则中,查找不存在的 x-header 以发送邮件以进行扫描
例如:0H * < 10000000 * !^X-Locally-Scanned: MySuperScanner