Postfix 错误。450 4.7.1 客户端主机被拒绝:找不到您的反向主机名

Postfix 错误。450 4.7.1 客户端主机被拒绝:找不到您的反向主机名

我在使用 postfix 及其配置时遇到问题。我可以向外部网站(gmail、outlook、yahoo……)发送电子邮件,但无法在本地发送电子邮件。

例如,如果我的域名是 myfantasticdomain.com,我无法从[电子邮件保护][电子邮件保护]

这是我的配置:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
inet_interfaces = all
inet_protocols = all
mailbox_size_limit = 0
mydestination = localhost, localhost.localdomain
myhostname = myfantasticdomain.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_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
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

您已手动将myhostname其从 中排除mydestination,默认情况下它已包含。(如果您选择了一些,也会发生这种情况。)仅限本地配送配置向导中的设置。

mydestination(默认:$myhostname, localhost.$mydomain, localhost

通过$local_transport邮件传递传输。默认情况下,这是 Postfix本地(8)投递代理会查找/etc/passwd和中的所有收件人/etc/aliases。SMTP 服务器会使用 验证收件人地址, $local_recipient_maps并拒绝不存在的收件人。另请参阅ADDRESS_CLASS_README文件。

默认mydestination值仅指定本地计算机的名称。在邮件域网关上,您还应该包括$我的域名

因此你的选择是:

  • 通过变量添加域$myhostname

    mydestination = $myhostname, localhost.$mydomain $mydomain
    
  • 直接添加域名:

    mydestination = example.com, localhost.$mydomain $mydomain
    
  • 对于此域的单独别名,请使用Postfix 虚拟域名托管, 反而。

答案2

您是否使用 dig ptr 获取了正确的主机名?例如,对于 ip 192.168.0.1:

dig ptr 1.0.168.192.in-addr.arpa +short

请确保您的服务器使用有效的名称服务器(/etc/resolv.conf)或知道 /etc/hosts 中的主机名。

相关内容