我在用著這個指南使用 postfix 為非 Linux 帳戶設定虛擬信箱。
我的 main.cnf 的這一部分:
myhostname = localhost
mydomain = aviacao.pt
myorigin = aviacao.pt
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
virtual_mailbox_domains = aviacao.pt
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps = hash:/etc/postfix/vmaps
virtual_minimum_uid = 1000
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
relay_host =
recipient_delimiter = +
inet_interfaces = all
unknown_local_recipient_reject_code = 550
這有效,但僅當 myhostname 設定為 localhost 時。如果我將 myhostname 設定為 aviacao.pt,它將不會收到電子郵件:
550 5.1.1:收件人地址被拒絕:本地收件人表中的使用者未知
為什麼會這樣呢?該指南甚至說將 myhostname 設為 localhost 可能會導致問題:
使用 localhost 作為 myhostname 可能會導致問題,因為變數在伺服器發送的 EHLO 訊息中使用。
這是最好的方法嗎?這會帶來問題嗎?
答案1
將 myhostname 設定回“ aviacao.pt
”
新增行:
mydestination = aviacao.pt, localhost, localhost.localdomain