29.12. 使用 procmail
procmail 是一个强大得惊人的过滤进入邮件的应用程序。它允许用户定义“规则”,并用这些规则来匹配进入的邮件,进而执行某些特定的功能,或将这些邮件转发到其他信箱和/或邮件地址。procmail 可以通过 mail/procmail port 来安装。装好之后,可以直接把它集成到绝大多数 MTA 中; 请参考你使用的 MTA 的文档了解具体的作法。另外,procmail 可允许通过把下面的设置加入到用户主目录中的 .forward 文件中,来启用 procmail 功能:
"|exec /usr/local/bin/procmail || exit 75"
下面将介绍一些基本的 procmail 规则,以及它们都是做什么的。各种各样的规则,都应该写到 .procmailrc 文件中,而这个文件则必须放在用户的主目录下。
主要的规则,也可以在 procmailex(5) 联机手册中找到。
将所有来自 user@example.com
的邮件,转发到外部地址 goodmail@example2.com
:
:0
* ^From.*user@example.com
! goodmail@example2.com
转发所有不超过 1000 字节的邮件到外部地址 goodmail@example2.com
:
:0
* < 1000
! goodmail@example2.com
把所有发送到 alternate@example.com
的邮件放到信箱 alternate 中:
:0
* ^TOalternate@example.com
alternate
将所有主题为 Spam
的邮件发到 /dev/null :
:0
^Subject:.*Spam
/dev/null
将收到的所有 FreeBSD.org 邮件列表的邮件,转发到各自的信箱:
:0
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
{
LISTNAME=${MATCH}
:0
* LISTNAME??^\/[^@]+
FreeBSD-${MATCH}
}