我使用procmail来处理一些服务器端的邮件处理。 我正在尝试在支持多个域的服务器上设置一个电子邮件地址(在下面的例子中, domain.net和domain.com )。 我想邮件发送到[email protected]去bob和邮件发送到[email protected]去sara 。
VERBOSE=off LOGFILE=/dev/null :0 * .domain.net bob :0 * .domain.com sara
上面的配方似乎工作得很好,因为它捕获到domain.net传入邮件,并将其转发给bob 。
但是,不是将邮件转发到domain.com到sara ,而是在/home/user创build一个名为sara 。
我在这做错了什么?
您正在传送到本地文件,而不是将消息转发给用户。 另外(正如您在评论中指出的那样),您不是碳复制邮件,因此交付在第一个匹配规则之后停止。
# 'c'opy the message to deliver it twice. # ! to forward the message :0 c * .domain.net ! bob :0 * .domain.com ! sara
prcomailrc手册页说:
其他任何东西都将被视为邮箱名称(文件名或目录,绝对或相对于当前目录(请参阅MAILDIR))。 如果它是(可能不存在的)文件名,邮件将被附加到它。
debuggingprocmail问题的最佳方法是在.procmailrc设置verbose和logfile 。 检查日志文件将很大程度上揭示为什么procmail是一个特定的方式。
编辑 :更新与基于OP评论的碳复制信息。