我有一个网站,其域名使用外部邮件服务器(由 mail.mydomain.com 和 MX 记录定义)。示例电子邮件地址为[电子邮件保护]每当服务器向该用户发送通知电子邮件时,它都会被退回,并显示如下消息:
to=、relay=local、delay=0.03、delays=0.02/0.01/0/0.01、dsn=5.1.1、status=bounced(未知用户:“johndoe”)
因为它认为目标是 localhost 而不是 mail.mydomain.com。重新配置 Postfix 可以解决这个问题吗?如果可以,具体需要更改/添加哪些指令?如果不可以,解决这个问题的最佳方法是什么?
编辑- 添加了 postconf -n 输出:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
mailbox_size_limit = 0
mydestination = mydomain.com, localhost.localdomain, localhost
myhostname = mydomain.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
谢谢。
答案1
通过改变解决问题:
mydestination = mydomain.com, localhost.localdomain, localhost
到:
mydestination = www.mydomain.com, localhost.localdomain, localhost
答案2
鉴于这一点已被多次查看,有效的答案适用于静态域,但在后缀语法方面令人困惑。
对于将电子邮件发送到与主机名相同的域的地址的外发服务
mydestination = $myhostname, localhost.$mydomain, $mydomain
是个推荐配置字符串。
然而,上述链接没有考虑到问题提出的情况。假设您的服务器名为www.sporting.events
,您需要配置:
myhostname = www.sporting.events
mydomain = www.sporting.events
获取未转发的邮件local