Postfix 拒绝所有传入邮件(客户端主机被拒绝:拒绝访问)

Postfix 拒绝所有传入邮件(客户端主机被拒绝:拒绝访问)

我已经设置了一个可以正常工作的 Postfix 服务器,但所有传入邮件都会被拒绝。

当我尝试通过 telnet 发送邮件时:

MAIL FROM: <[email protected]>
250 2.1.0 Ok
RCPT TO: <[email protected]>
554 5.7.1 <my.host.name[1.2.3.4]>: Client host rejected: Access denied

我的postconf -n

别名数据库 = 哈希:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
append_dot_mydomain = no
biff = 没有
broken_sasl_auth_clients = 否
配置目录 = /etc/postfix
延迟警告时间 = 4 小时
inet_interfaces = 全部
邮箱大小限制 = 0
masquerade_domains = mail.mydomain.com www.mydomain.com
最大退避时间 = 8000 秒
最大队列寿命 = 7d
minimal_backoff_time = 1000s
我的目的地 =
我的网络 = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = techxonline.net
readme_directory = 否
收件人分隔符 = +
中继主机 =
smtp_helo_timeout = 60 秒
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_client_restrictions = rejection_rbl_client sbl.spamhaus.org,reject_rbl_client blackholes.easynet.nl,reject_rbl_client dnsbl.njabl.org
smtpd_data_restrictions = rejection_unauth_pipelining
smtpd_hard_error_limit = 12
smtpd_helo_restrictions = permit_mynetworks,warn_if_reject rejection_non_fqdn_hostname,reject_invalid_hostname,允许
smtpd_recipient_limit = 16
smtpd_recipient_restrictions = rejection_unauth_pipelining,permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_destination,check_policy_service inet:127.0.0.1:10023,允许
smtpd_sasl_auth_enable = 是
smtpd_sasl_本地域=
smtpd_sasl_security_options = noanonymous
smtpd_sender_restrictions = permit_sasl_authenticated、permit_mynetworks、warn_if_reject、reject_non_fqdn_sender、reject_unknown_sender_domain、reject_unauth_pipelining、允许
smtpd_soft_error_limit = 3
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 = 是
未知本地收件人拒绝代码 = 450
virtual_alias_maps = mysql:/etc/postfix/mysql_alias.cf
virtual_gid_maps = 静态:5000
虚拟邮箱库 = /var/spool/mail/virtual
虚拟邮箱域 = mysql:/etc/postfix/mysql_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_mailbox.cf
virtual_uid_maps = 静态:5000

/var/log/syslog从 Gmail 发送后:

Oct 18 21:30:01 appman postfix/smtpd[25307]: connect from mail-gx0-f181.google.com[209.85.161.181]
Oct 18 21:30:01 appman postfix/smtpd[25307]: NOQUEUE: reject: RCPT from mail-gx0-f181.google.com[209.85.161.181]: 554 5.7.1 <mail-gx0-f181.google.com[209.85.161.181]>: Client host rejected: Access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-gx0-f181.google.com>
Oct 18 21:30:01 appman postfix/smtpd[25307]: disconnect from mail-gx0-f181.google.com[209.85.161.181]

我怎样才能让我的 postfix 服务器接受邮件?如果我可以提供任何其他信息,请告诉我。

编辑:似乎服务器需要身份验证才能在此处接收邮件。它似乎不受主机限制——从服务器本身使用 telnet 仍会导致邮件被拒绝。使用 SASL 进行身份验证然后发送电子邮件可以正常工作。

因此,问题似乎是服务器期望在最终目的地传递邮件时进行身份验证,但事实并非如此。有什么想法吗?

答案1

我认为您需要输入mydestination = mydomain.com您的配置。


下一个猜测:我们知道域名是正确的,并且 SASL 有效……所以我现在怀疑我们在你的限制中看到了错误。我会从收件人限制开始,删除 permit_sasl_authenticated 之后的所有拒绝。如果有效,请一次添加一个。如果不行,你的下一个测试是 sender_restrictions。

答案2

首先删除策略委托机制check_policy_service inet:127.0.0.1:10023。然后重试。这很有可能阻碍了您的交付。

相关内容