我已安装并配置 Postfix 以将邮件传递到 Procmail。我已配置 Procmail 以将电子邮件传递到 Python 脚本。我还注意到 Procmail 将同一封电子邮件的副本放入 的文件中/var/spool/mail/<username>
。我不希望邮件副本保留在那里或服务器上的任何地方。有没有办法配置 Procmail 以在将邮件发送到 Python 脚本后将其删除?
在我的.procmailrc中配置如下:
:0Wc:
| env python3 /home/user/python/script.py
:0
* ^From:.*@.*
/dev/null
但这不起作用。消息仍然以 结尾/var/spool/mail/<username>
。
答案1
这正是 Procmail 的开箱即用操作。配方按顺序执行,直到执行交付操作,或者直到我们用完配方,然后交付给$DEFAULT
。写入邮箱、管道到命令或转发给不同的收件人都是交付操作。
但是,您的第一个配方有一个c
标志,它明确禁用此行为,并导致即使此操作完成后仍尝试另一次交付。
简而言之,去掉c
标志(也可能是第二个冒号;或者以此命名一个明确的锁文件)。
这旧的(不那么旧的)迷你常见问题解答有一个有关锁定的部分巧合的是,它还有一个关于你的主要问题的段落,和一个“交付”的讨论。