如果 fetchmail 从 yahoo 获取垃圾邮件,而 postfix 因主机不存在而无法投递,该如何处理这种情况

如果 fetchmail 从 yahoo 获取垃圾邮件,而 postfix 因主机不存在而无法投递,该如何处理这种情况

我使用 fetchmail 从 yahoo 收集邮件,并将邮件发送到本地 postfix 服务器。如果我遇到 4xx 错误,例如由于发件人域不存在,fetchmail 将尝试将此电子邮件永久发送到 postfix,而 postfix 将永久拒绝它,并发出以下错误:

NOQUEUE: reject: RCPT from localhost.localdomain[127.0.0.1]: 450 4.1.8 <[email protected]>: Sender address rejected: Domain not found; from=<[email protected]>

第一个问题:
我该如何设置 fetchmail 以便首先从本地主机运行?我已设置
fetchmail.localdomain[127.0.0.7],
以便日志文件如下所示:

NOQUEUE: reject: RCPT from fetchmail.localdomain[127.0.0.7]: 450 4.1.8 <[email protected]>: Sender address rejected: Domain not found; from=<[email protected]>

为此,我设置了 /etc/hosts

127.0.0.1       localhost.localdomain   localhost
127.0.0.7       fetchmail.localdomain   fetchmail

第二个问题:
我如何设置 fetchmail 尝试有限次数将邮件传递给 postfix,然后跳过它?

答案1

我个人避免使用整个本地邮件服务器,而是从我的 crontab 运行 fetchmail,并直接发送到老式的 procmail,后者依次调用 SpamAssassin、防病毒软件,然后过滤并将我的邮件放在正确的 Maildir 中:

poll pop.example.com with proto pop3:
        user "[email protected]" there has password "password"
        is me here and wants ssl nokeep mda "/usr/bin/procmail -t /home/me/.procmailrc"

相关内容