我已经为两个域配置了 Postfix 邮件服务器:domain1.com 和 domain2.com。
在我的配置中,domain1 既有虚拟用户,也有 Maildirs 和别名,用于将邮件转发给本地用户(例如 root、webmaster)和一些小型邮件列表。它还具有一些到非本地域的虚拟映射。
另一方面,域 2 只有虚拟别名映射,主要是到域 1 中的相应“用户”(例如,发送到[电子邮件保护]应转发至[电子邮件保护])。
我的问题是,目前 Postfix 甚至接受那些用户的邮件不系统中存在。发送给现有用户的邮件和 /etc/aliases 工作正常。Postfix 文档指出,永远不应在 mydestination 和 virtual_mailbox_maps 中指定同一个域,但如果我将 mydestination 指定为空白,则 postfix 会根据 virtual_mailbox_maps 验证收件人,但会拒绝 domain1.com 本地别名的邮件。
/etc/postfix/main.cf:
myhostname = domain1.com
mydomain = domain1.com
mydestinations = $myhostname, localhost.$mydomain, localhost
virtual_mailbox_domains = domain1.com
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_mailbox_base = /home/vmail/domains
virtual_alias_domains = domain2.com
virtual_alias_maps = hash:/etc/postfix/virtual
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
virtual_transport = dovecot
在/etc/postfix/虚拟:
domain1.com right-hand-content-does-not-matter
firstname.lastname user1
[more aliases..]
domain2.com right-hand-content-does-not-matter
@domain2.com @domain1.com
在/etc/postfix/vmailbox中:
[email protected] user1/Maildir
[email protected] user2/Maildir
在 /etc/别名中:
root: :include:/etc/postfix/aliases/root
webmaster: :include:/etc/postfix/aliases/webmaster
[etc..]
这种方法正确吗?还是还有其他方法可以使用 Dovecot(虚拟)Maildirs 和 Postfix 别名配置 Postfix?
答案1
是的,您不能同时在mydestination
和中拥有域名virtual_mailbox_maps
。为了解决这个问题,您需要mydestination
在main.cf
mydestination = localhost.$mydomain, localhost
以及/etc/postfix/virtual
[email protected] root@localhost
[email protected] webmaster@localhost
使用此设置,发送电子邮件至[电子邮件保护]将被重定向到 root@localhost。由于 localhost 列在,mydestination
因此 postfix 将在/etc/aliases