Postfix 与 Spamassassin 配合使用,丢弃垃圾邮件而不是将其发送到垃圾邮件文件夹

Postfix 与 Spamassassin 配合使用,丢弃垃圾邮件而不是将其发送到垃圾邮件文件夹

我的 Spamassassin 出现了问题,它会丢弃电子邮件而不是将其投递到实际的垃圾邮件文件夹,我需要更改此选项,以防电子邮件不是垃圾邮件但我被标记为垃圾邮件,这样我就可以不时检查我的垃圾邮件文件夹。

/etc/postfix/master.cf

smtp      inet  n       -       n       -       -       smtpd -o content_filter=spamassassin
spamassassin unix -     n       n       -       -       pipe user=spamd argv=/usr/bin/spamc -f -e  /usr/sbin/sendmail -oi -f ${sender} ${recipient}

我的配置设置为

/etc/postfix/header_checks 
/^X-Spam-Flag:.YES/ DISCARD This is spam

有没有办法配置它以便将邮件标记为垃圾邮件并将其发送到垃圾邮件/垃圾文件夹?

日志

Apr 28 09:55:26 testmail postfix/pickup[2171]: BF55C2C2451: uid=1001 from=<email@email>  
Apr 28 09:55:26 testmail postfix/pipe[2275]: 006602C244C: to=<[email protected]>, relay=spamassassin, delay=0.99, delays=0.34/0.03/0/0.62, dsn=2.0.0, status=sent (delivered via spamassassin service)  
Apr 28 09:55:26 testmail postfix/qmgr[2172]: 006602C244C: removed  
Apr 28 09:55:26 testmail postfix/cleanup[2274]: BF55C2C2451: message-id=<[email protected]>  
Apr 28 09:55:26 testmail postfix/cleanup[2274]: BF55C2C2451: discard: header X-Spam-Flag: YES from local; from=<email@email> to=<email@email>: This is spam  

答案1

为了理解这些可能性,最好对以下方面有所了解:Postfix 架构

第一张图片展示了你的现在的情况。Postfix 处理每封邮件两次:SpamAssassin 之前和之后。因此,X-Spam仅在第二轮设置标头,标记为垃圾邮件的邮件DISCARD在第二轮中被默默编辑清理

当前使用 header_checks 的配置

更有用的是REJECT绝对是垃圾邮件(SPF 硬故障、不存在的发件人域、一些列入黑名单的 IP 等),而它第一次被邮件传输协议。这样就可以实际拒绝带有相应 SMTP 错误代码的邮件,而不是将其排队,因为排队会给出邮件已被接受的错误提示。这可以通过以下方式配置嘿洛发件人, 和接受者限制。第二张图片还代表了邮件正常传送到收件箱的路径。

排队前拒绝消息

你想要的状态是将邮件标记为垃圾邮件,然后将其投递到邮箱Spam。实际上你的 SpamAssassin 已经在做这件事了,所以你只需要让邮件投递代理MDA 代替邮件传输代理MTA。在最后一张图中邮件服务器根据 将消息传递到正确的邮箱X-Spam-Flag

在此处输入图片描述

对于此功能:

  • /^X-Spam-Flag:.YES/ DISCARD从......中去除/etc/postfix/header_checks
  • 添加。mailbox_command = procmail -a "$EXTENSION"main.cf
  • 示例配置/etc/procmailrc(或每个用户~/.procmailrc):

    MAILDIR=$HOME/mail/
    DEFAULT=$HOME/mail/Inbox
    
    :0:
    * ^X-Spam-Flag: Yes
    Spam
    

还有几种替代方案,例如 Procmail 能够通过管道传输到 SpamAssassin 而不是 Postfix,从而允许每个用户(评分)设置。您可能会注意到邮箱也是一个 MDA。

相关内容