我的个人服务器运行 postfix 和自己的 DNS(bind9)。Postfix 设置为将电子邮件转发到 Gmail 帐户。为了回答这个问题,请假设服务器的 FQDN 是example.com
。
我遇到一个问题,每当我向example.com
(比如说[email protected]
)上的有效电子邮件地址发送电子邮件时,postfix 都会尝试在本地发送电子邮件,但会失败并显示日志消息Diagnostic-Code: X-Postfix; unknown user: fooser
。
Postfix 的mydestination
设置设置为example.com
,bind9 配置为解析同一个域及其多个子域。我不明白为什么 Postfix 在配置为作为中继主机运行时会以这种方式运行:
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
向非地址发送电子邮件example.com
就可以了。
有没有办法强制 postfix总是转发电子邮件,无论目的地是哪里?
答案1
我对 postfix 完全不了解。看来只需将 postfixmydestination
和myhostname
设置以及 的内容/etc/mailname
更改为foobar.baz
(而不是example.com
)即可解决问题。
但不清楚是否需要更改所有这些设置。
编辑
刚刚发现我必须设置myorigin
为服务器的 FQDN(在我的情况下是)example.com
,才能最终实现本地用户邮件 ( user@localhost
) 到特定电子邮件地址 ( [email protected]
) 的映射。本地用户邮件的映射是使用虚拟别名映射 (virtual_alias_map
设置) 实现的。