Ubuntu

Postfix:如何使用虛擬 Dovecot 郵箱配置 Postfix?

  • March 30, 2015

我為兩個域配置了 Postfix 郵件伺服器:domain1.com 和 domain2.com。

在我的配置中 domain1 有兩個具有 Maildirs 和別名的虛擬使用者,用於將郵件轉發給本地使用者(例如 root、webmaster)和一些小型郵件列表。它還有一些到非本地域的虛擬映射。

另一方面,域 2 只有虛擬別名映射,主要是對應域 1 的“使用者”(例如,發往 root@domain2.com 的郵件應該轉發到 root@domain1.com)。

我的問題是,目前 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/v郵箱:

user1@domain1.com user1/Maildir
user2@domain1.com user2/Maildir

/etc/別名:

root: :include:/etc/postfix/aliases/root
webmaster: :include:/etc/postfix/aliases/webmaster
[etc..]

這種方法是否正確或者是否有其他方法可以使用 Dovecot(虛擬)Maildirs 和 Postfix 別名配置 Postfix?

是的,你不能在mydestination和中都有域virtual_mailbox_mapsmydestination為了克服這個你需要設置main.cf

mydestination = localhost.$mydomain, localhost

並且在/etc/postfix/virtual

root@domain1.com   root@localhost
webmaster@domain1.com  webmaster@localhost

使用此設置,發往 root@domain1.com 的電子郵件將被重定向到 root@localhost。因為後綴中列出的 localhostmydestination將應用別名/etc/aliases

引用自:https://serverfault.com/questions/249921