此包羅萬象的方法適用於現有郵箱,但不適用於隨機郵箱。怎麼了?
發送到不存在的郵箱會給予 ( /etc/log/maillog
):
Dec 27 23:09:42 vps40198 postfix/smtpd[18623]: NOQUEUE: reject: RCPT from mail-oa0-f47.google.com[209.85.219.47]: 550 5.1.1 <[email protected]>: Recipient address rejected: User unknown in virtual mailbox table; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-oa0-f47.google.com>
我的郵件伺服器位於fake.tld
並且random
是不存在的使用者。
這些是相關/etc/postfix/*.cf
文件:
#mysql-domains.cf
host = localhost
user = postfix
password = xxxx
dbname = postfix
query = SELECT 1 FROM domain WHERE domain = '%s'
#mysql-email2email.cf
host = localhost
user = postfix
password = xxxx
dbname = postfix
query = SELECT username FROM user WHERE username = '%s'
#mysql-forwards.cf
host = localhost
user = postfix
password = xxxx
dbname = postfix
query = SELECT dst FROM forward WHERE src = '%s'
#mysql-mailboxes.cf
host = localhost
user = postfix
password = xxxx
dbname = postfix
query = SELECT CONCAT(SUBSTRING_INDEX(username,'@',-1),'/mail/',username,'/') FROM user WHERE username = '%s'
用戶的網域存在於資料庫中。
怎麼了?
編輯:
我想它需要一個目錄來保存郵件,我如何重定向郵件但不將它們保存到磁碟?
答案1
看來我使用了 virtual_mailbox_alias_maps 而不是 virtual_alias_maps。前者並不存在,但 Postfix 並沒有抱怨。不知道這是怎麼發生的,也許是一些錯誤的指南或我自己的打字錯誤。