Postfix 无法向某些地址发送电子邮件?

Postfix 无法向某些地址发送电子邮件?

我在 Wordpress 上使用 Jetpack,但它无法正常工作。我收到以下错误:

Diagnostic-Code: X-Postfix; unknown user: "jake"

--60FD1138CAD.1354039466/example.com Content-Description: Undelivered Message

(example.com 替代我们的域名)

我们设置了一个测试邮件功能,但也没有发送。我们将电子邮件更改为外部电子邮件,它就可以正常工作了。有没有想过为什么它不会发送到同一域的电子邮件?或者为什么它发送到某些电子邮件而不发送到其他电子邮件?

运行时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
inet_protocols = all
mailbox_size_limit = 0
mydestination = example.com, Example, localhost.localdomain, localhost
myhostname = example.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

当我向 发送电子邮件时[email protected],我的客户端会查找您的 MX 记录,发现您正在使用 Google,然后直接与 Google 的邮件服务器通信以发送电子邮件。我的邮件永远不会到达您的服务器。

当您使用 PHP 将电子邮件从服务器发送到服务器时[email protected],PHP 会查找其sendmail设置php.ini并将邮件交给该进程进行传送。就您而言,该进程将是 Postfix。由于 Postfix 既能接受电子邮件也能发送电子邮件(与普通客户端或 MUA 不同),因此它首先检查是否应该自己接受这封电子邮件或将其转发到其他服务器。它通过将符号后的域@与配置项的内容进行比较来实现这一点mydestinations。就您而言,这是example.com并且匹配,因此您的 Postfix 决定自己接受邮件而不是转发给谷歌。这就是你的问题的根源所在。

在决定接受邮件本身后,它必须弄清楚将邮件放在哪里。这可以是虚拟用户表或真实的 Unix 用户,也可以是传递给其他用户(虚拟或真实)的别名。在您的服务器中,这些都不匹配。看起来您的用户帐户是jakebuob,不是jake,并且您没有配置任何虚拟映射。因此 Postfix 随后会退回该邮件并显示“未找到用户”消息。

解决这个问题最简单的方法是example.com从中删除mydestination

相关内容