我使用 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"