Postfix:如何使用虛擬 Dovecot 郵箱配置 Postfix?
我為兩個域配置了 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_maps
。mydestination
為了克服這個你需要設置main.cf
mydestination = localhost.$mydomain, localhost
並且在
/etc/postfix/virtual
root@domain1.com root@localhost webmaster@domain1.com webmaster@localhost
使用此設置,發往 root@domain1.com 的電子郵件將被重定向到 root@localhost。因為後綴中列出的 localhost
mydestination
將應用別名/etc/aliases