Linux
萬用字元後綴擷取別名以讓 dovecot 儲存電子郵件的例外
我已經配置後綴從 PostgreSQL (
virtual_alias_maps = pgsql:/etc/postfix/pgsql-virtual-alias-maps.cf
) 讀取別名映射,我配置的每個域都有一個萬用字元/catch-all 規則。可以使用更具體的別名將電子郵件重定向到新電子郵件(例如外部提供商),但我不知道如何告訴 postfix(告訴 dovecot)儲存特定電子郵件地址的電子郵件。
我發現的每個線上教程都假設我想將電子郵件重定向到系統上的某個真實使用者,我不希望我的系統上有幾百個新使用者。我想我有虛擬使用者。
只是為了進一步澄清,這些重定向是我想要實現的。(我已經嘗試在別名中使用使用者名而不是完整的電子郵件地址,但這不起作用,電子郵件沒有被儲存,所以必須有更多內容):
user@domain.com -> user@domain.org user2@domain.email -> user2 (SMTP user's mailbox) @domain.com -> catchall (SMTP user's mailbox) @domain.email -> catchall (SMTP user's mailbox) @domain.net -> user@external.com user2@domain.com -> user2@domain.email [... and a few hundred more ...]
該解決方案還必須使用 unicode 電子郵件地址,我已經對 Postfix 愚蠢的 LATIN1 PGSQL 驅動程序感到非常惱火,該驅動程序在任何地方都沒有提到,當字元集不是 LATIN1 時,它甚至不會轉換為 punycode。
如果您需要任何其他詳細資訊,請告訴我。
別名真的需要 PostgreSQL 後端嗎?這對於 Berkeley DB 來說相當簡單
virtual_alias_maps = hash:/etc/postfix/virtual
在此範例中,
.com
and.net
是內部的,並且.org
是外部的:user@example.com user@example.org user2@example.com user2 user2@example.net user2 @example.com catchall @example.net catchall
將地址和目的地視為簡單的配對,擺脫複雜的鏈,例如:
user2@domain.com --> user2@domain.net --> user2