Articles of procmail

Procmail配方,邮件归根

我正在使用Postfix和Procmail的组合来处理我的一台服务器上的入站电子邮件。 每个用户都有一个本地帐户,多年来我一直使用下面的/usr/local/etc/procmailrc : DEFAULT=$HOME/mail/ LOGFILE=/var/log/procmail 我最近添加了一个配方,将标记为垃圾邮件的邮件指向一个单独的文件夹: :0 * ^X-Spam-Flag: YES $HOME/mail/.Junk/ 但是,在某些情况下,进入该文件夹的消息似乎是由root用户拥有的,而不是正确的用户。 我从来没有收到这个问题,它似乎也只是影响某些用户。 我设法捕捉在ps中的Procmail进程之一,它似乎运行正确的用户。 (这个用户在垃圾文件夹中也有根拥有的邮件) # ps axu | grep procmail {correct-local-username} 7402 0.0 0.2 12140 1780 ?? Ss 11:37AM 0:00.01 /usr/local/bin/procmail -a 有没有人有一个想法,为什么消息处理的食谱将由根拥有,而消息去默认文件夹会得到正确的所有者? 有什么我可以做的(即使它是hacky,例如从Procmail配方中调用chown)来确保消息始终由正确的用户拥有? 如果重要,Procmail在Postix中configuration如下: mailbox_command = /usr/local/bin/procmail -a "$EXTENSION"

在Postfix / Courier + MySQL虚拟用户上设置对垃圾邮件的Procmail过滤

我一直在寻找如何做到这一点的资源,但没有太多的运气。 我正在运行一个基于Postfix和Courier with MySQL的工作MTA / MUA作为虚拟用户的后端。 我基于我的系统在下面的文章: https://help.ubuntu.com/community/PostfixCompleteVirtualMailSystemHowto 这是很好的,直到空的部分! 我的SMTP / IMAP设置工作得很好,我设法得到SpamAssassin和ClamAV以及我在网上find的一些单独的文档。 我需要帮助的是设置Postfix使用Procmail作为mailbox_command,以便它可以与虚拟用户一起使用。 我希望能够为每个虚拟用户分别定义不同的Procmail规则。 我读过Postfix文档,据我所知,mailbox_command的默认function只适用于本地(非虚拟)用户。 提前致谢! 更新: 自从这篇文章,我已经认识到,mailbox_command不是成立的。 相反,我find了一个使用transport_maps来做到这一点的方法。 在下面阅读我自己的答案。

设置procmail忽略自动回复和反弹

我使用procmail来接收电子邮件,然后将它们转发到脚本进行处理。 有时这甚至会意味着生成一封电子邮件(例如,将邮件转发给其他用户,或者回答查询)。 不用说,我没有兴趣加载自动回复或休假回复的电子邮件我的服务器,所以我想知道是否有一个简单的方法来过滤掉这些消息。 无论如何,我都会将这些脚本传递给脚本,所以我总是可以将自己的filter放在脚本中,但是我不想重复发明。 我已经知道我应该用Precedence: junk或Precedence: bulk垃圾邮件。 我可以像procmail中的任何其他标题一样过滤它们吗?

有没有一种方法来过滤远程IMAP帐户中的邮件?

情况:邮件服务器只能访问IMAP。 问题:我希望能够过滤邮件(将一些邮件放在不同的文件夹中,将它们标记为已读等等)。 大多数新的电子邮件客户端有这种能力,但我想要一个独立的过滤程序,因为我需要使用各种电子邮件客户端连接到此服务器。 通常 – 像procmail,但在IMAP工作。 该软件将在Linux或Solaris上运行。

2017年使用procmail安全吗?

我刚刚发现procmail网站( http://www.procmail.org/ )已经closures。 我做了一些关于它的状态的研究,似乎自2001年以来,procmail的开发已经失败了。即使是旧的procmail维护者也build议将它从openbsd端口中移除,因为代码是不安全的( https://marc.info/? l = openbsd-ports&m = 141634350915839&w = 2 )。 这有点吓人,因为未修复的bug会导致远程代码执行漏洞。 最近的Linux发行版(例如Ubuntu,Debian)仍然提供它,但使用procmail仍然安全吗?