当无法在 Postfix 中扩展 .forward 时将邮件搁置

当无法在 Postfix 中扩展 .forward 时将邮件搁置

有时我的用户会意外删除他们的 .forward 文件,然后 Postfix 会将邮件发送至 /var/spool/mail。我希望它将邮件放入“保留”或“延迟”队列,这样我就可以注意到这种情况并帮助用户修复他们的 .forward 文件。这可能吗?

答案1

所以我找不到任何明显的方法来实现这一点。理论上,我认为应该可以使用传输来实现这一点,但我无法让它真正保留或推迟邮件。

我解决这个问题的方法(非常 hacky)是使用文件mailbox_command中的变量main.cf。它旨在指定要使用的外部命令,而不是邮箱投递。事实证明,它还监听 smtp 状态代码,可用于强制将邮件保留在服务器上。首先,在 中添加以下行main.cf

mailbox_command = /etc/postfix/defer-mail

并创建文件/etc/postfix/defer-mail并使其看起来像这样:

#!/bin/bash

echo "4.3.0 Mail expansion not available (missing .forward file)"

exit 1

这会将邮件放入您的deferred队列,然后可以从中移入队列hold

相关内容