我在 Raspberry Pi 上运行基于 Ubuntu 20.04 的 LEMP 服务器。它上面安装了 postfix/dovecot/amavis/spamassassin。当我通过运行以下命令查看我的 mail.err 日志时:
cat /var/log/mail.err
它返回以下错误:
spamass-milter[1606]: Could not retrieve sendmail macro "i"!. Please add it to confMILTER_MACROS_ENVFROM for better spamassassin results
spamass-milter[1420]: Could not retrieve sendmail macro "i"!. Please add it to confMILTER_MACROS_ENVFROM for better spamassassin results
spamass-milter[1595]: spamass-milter 0.4.0 starting
spamass-milter[1595]: Could not retrieve sendmail macro "i"!. Please add it to confMILTER_MACROS_ENVFROM for better spamassassin results
这些错误是什么意思?我该如何修复它们?
答案1
您的邮件过滤器需要 Sendmail 的一个属性,但是对于 Postfix 来说这并不正确。
正如记录在案的Postfix milter 自述文件的宏部分,milter 宏i
提供队列标识符,该标识符不会立即分配(参见smtpd_delay_open_until_valid_rcpt
配置),因此直到 SMTP 交换中的后续步骤之前,您的 spamass-milter 程序才可以使用它。
除了详细日志记录的目的之外,垃圾邮件过滤器根本不需要知道(任意分配的)QUEUE ID,因此如果它不会使您的监控复杂化,您可以放心地忽略此警告。
按照Debian 错误 #696856Debian(及其可能的衍生产品)现在发布了修补这消除了 spamass-milter 中的过早访问和伴随的警告。