在 Postfix 中設定擷取所有位址的位置(受影響的虛擬信箱)

在 Postfix 中設定擷取所有位址的位置(受影響的虛擬信箱)

我成功設定 Postfix 將郵件傳送到虛擬郵箱。

我可以在 /etc/postfix/virtual 中設定別名和管道,在 /etc/postfix/virtual_mailbox 檔案中設定郵箱。

但是,每當我設定一個包羅萬象的網域並指向遠端電子郵件地址時,它就會覆蓋 postfix 中設定的所有其他虛擬郵箱和虛擬別名。啟用虛擬郵箱後,如何設定遠端電子郵件地址的全部轉址?

我這樣設定包羅萬象:

@mydomain.com     [email protected]

感謝您的幫忙!

答案1

包羅萬象的內容應該在virtual_alias_maps文件中(在你的情況下/etc/postfix/virtual)並且不是virtual_mailbox文件中。

看一看這裡,搜尋頁面Mail forwarding domains,您將找到以下範例:

1 /etc/postfix/main.cf:
2     virtual_alias_domains = example.com ...other hosted domains...
3     virtual_alias_maps = hash:/etc/postfix/virtual
4 
5 /etc/postfix/virtual:
6     [email protected] postmaster
7     [email protected]        joe@somewhere
8     [email protected]       jane@somewhere-else
9     # Uncomment entry below to implement a catch-all address
10     # @example.com         jim@yet-another-site
11     ...virtual aliases for more domains...

答案2

對我們來說,最簡單的解決方案是為 virtual_alias_maps 提供三個條目,它們按順序執行,直到第一場比賽例如。

/etc/postfix/main.cf:
virtual_alias_maps = 
    hash:/etc/postfix/virtual, 
    proxy:ldap:/etc/postfix/ldap/virtual_mail_exist_maps.cf, 
    hash:/etc/postfix/virtual_after_ldap

第一個條目是「經典」本機檔案虛擬,如果您需要類似的內容,它可能會從 .com 轉發到 .net 網域,例如。

/etc/postfix/virtual:
    @mydomain.com @mydomain.net

第二個條目是資料庫、sql 或 ldap 或其他任何內容。當帳戶相符時,postfix 提供服務正是所查詢的郵件並在此退出 - 成功地將郵件轉發到或多或少的自身(後綴邏輯:))

/etc/postfix/ldap/virtual_mail_exist_maps.cf
     server_host     = x
     server_port     = x
     ...
     result_format   = %s

第三個條目是另一個簡單的本機檔案。只有當資料庫查找不成功時,Postfix 才會在此處進行查找,您可以在此處放置您的包羅萬象的地址

/etc/postfix/virtual_after_ldap
    @mydomain.net postmaster

相關內容