具有多个 mydestination 位置和虚拟用户的 maildrop/postfix

具有多个 mydestination 位置和虚拟用户的 maildrop/postfix

我的邮件服务器托管两个不同域的电子邮件,它将其作为物理域进行响应,还处理多个虚拟电子邮件。是的,这太疯狂了,但 postfix 让我可以做到这一点。

最近,我一直在尝试添加 maildrop 支持,以便我能够根据收件人的需求过滤每个帐户上的电子邮件。

相关的 main.cf 摘录如下:

myorigin = /etc/mailname
mydestination = domain1.com, domain2.com, localhost.localdomain, localhost.localdomain, localhost
home_mailbox = Maildir/
maildrop_destination_recipient_limit = 1
mailbox_command = /usr/bin/maildrop -d ${USER}

virtual_mailbox_domains = domain3.com domain4.com
virtual_mailbox_base = /var/mail
virtual_mailbox_maps = hash:/etc/postfix/virtual/maps
virtual_alias_maps = hash:/etc/postfix/virtual/aliases
virtual_minimum_uid = 1000
virtual_uid_maps = static:vmail
virtual_gid_maps = static:vmail
virtual_transport = maildrop

正如您所猜测的,master.cf 包含一个 maildrop 传输:

maildrop  unix  -       n       n       -       -       pipe
  flags=ODRhu user=vmail:vmail argv=/usr/bin/maildrop -w 90 
  -d ${user}@${nexthop}
  ${extension} ${recipient} ${user} ${nexthop}

现在我的问题是仅限域1成功接收用户查询。如果我发送电子邮件[电子邮件保护],maildrop抱怨:

s_connect() 失败:没有此文件或目录 /usr/bin/maildrop:无法打开邮箱。

并向 domain3/domain4 发送投诉邮件:

s_connect() 失败:没有此文件或目录指定无效的用户。

毫不奇怪,/etc/mailname == domain1.com。

我相信我的问题的一部分可能是 master.cf 和 /etc/maildroprc 配置,所以我的问题有两个:

  1. 有没有办法配置它们,以便与我有点复杂的设置很好地配合?
  2. maildrop 是用于此目的的工具吗,或者是否有更好的 MTA 明确支持这种布局(如果有,我该如何使用它)?

最后,顺便说一句,如果这个问题在 serverfault/unix/ubuntu 上更合适,请随意将其移到那里。

答案1

[虚拟域部分]

-d ${user}@${nexthop}按照建议 替换-d ${user}@${domain}master.cfPostfix + Maildrop 操作指南

据我了解,您的配置${nexthop}是一个空字符串,因此 maildrop 获取user@

相关内容