Procmail 与 Postfix 和虚拟邮箱

Procmail 与 Postfix 和虚拟邮箱

我已经使用 Postfix 和 Dovecot 设置了可运行的 SMTP、IMAP 和 POP3 服务器。我已经使用以下格式设置了虚拟邮箱/home/vmail/%d/%u,其中%d是域名(例如 camilstaps.nl),%u是“用户”(例如 info)- 因此[电子邮件保护]/home/vmail/camilstaps.nl/info。我现在想设置 Procmail 来使用过滤器。

我读过了本维基,但我认为它不适用于我的虚拟邮箱情况。我对 Procmail 的了解还不够,无法独自完成这一切。

有人能给我解释一下或者给我一个链接吗?我在谷歌上搜索过,但只找到了没用的论坛帖子,没有文档或教程。这让我怀疑是否有可能做到这一点。

答案1

警告: 它应该可以,但我自己还没有测试过。
建议改进:我建议让 postfix 和 dovecot 都使用 mysql(或其他数据库)来存储有效的虚拟用户。

关于 /etc/procmailrcs/ 中的 procmail 脚本的讨论

/etc/postfix/main.cf:

# list of valid/served virtual domains
virtual_mailbox_domains = example.com example.net
# verification of virtual recipient validity
virtual_mailbox_maps = hash:/etc/postfix/virtual
# transport for deliveries to virtual mailboxes
virtual_transport = virtualprocmail:dummy

virtualprocmail_destination_recipient_limit = 1

/etc/postfix/virtual (需要使用 postmap 进行编译):

[email protected] Jane Doe
[email protected] John Doe

/etc/postfix/master.cf(将 virtualuser 替换为拥有虚拟邮箱的真实操作系统帐户名):

virtualprocmail unix - n n - - pipe flags=DRXhuq user=virtualuser 
  argv=/usr/bin/procmail -m E_SENDER=$sender E_RECIPIENT=$recipient ER_USER=$user ER_DOMAIN=$domain ER_DETAIL=$extension NEXTHOP=$nexthop /etc/procmail.d/default.rc

/etc/procmail.d/default.rc(虚拟用户必须可读):

# You should add some sanity chces of ${ER_DOMAIN} and ${ER_USER}

# Add trailing / if you want to use maildir directory instead of mailbox file
DEFAULT=/home/vmail/${ER_DOMAIN}/${ER_USER}

相关内容