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

我已经build立了一个工作的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

  alias_database = hash:/ etc / postfix / aliases
 alias_maps = hash:/ etc / postfix / aliases
 append_dot_mydomain = no
 biff = no
 broken_sasl_auth_clients = no
 config_directory = / etc / postfix
 delay_warning_time = 4h
 inet_interfaces = all
 mailbox_size_limit = 0
 masquerade_domains = mail.mydomain.com www.mydomain.com
 maximal_backoff_time = 8000s
 maximal_queue_lifetime = 7d
 minimal_backoff_time = 1000s
 mydestination = 
 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1] / 128
 myorigin = techxonline.net
 readme_directory = no
 recipient_delimiter = +
 relayhost = 
 smtp_helo_timeout = 60s
 smtp_tls_session_cache_database = btree:$ {data_directory} / smtp_scache
 smtpd_banner = $ myhostname ESMTP $ mail_name
 smtpd_client_restrictions = reject_rbl_client sbl.spamhaus.org,reject_rbl_client blackholes.easynet.nl,reject_rbl_client dnsbl.njabl.org
 smtpd_data_restrictions = reject_unauth_pipelining
 smtpd_hard_error_limit = 12
 smtpd_helo_restrictions = permit_mynetworks,warn_if_reject reject_non_fqdn_hostname,reject_invalid_hostname,许可
 smtpd_recipient_limit = 16
 smtpd_recipient_restrictions = reject_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_local_domain = 
 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,permit
 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 =是
 unknown_local_recipient_reject_code = 450
 virtual_alias_maps = mysql:/etc/postfix/mysql_alias.cf
 virtual_gid_maps = static:5000
 virtual_mailbox_base = / var / spool / mail / virtual
 virtual_mailbox_domains = mysql:/etc/postfix/mysql_domains.cf
 virtual_mailbox_maps = mysql:/etc/postfix/mysql_mailbox.cf
 virtual_uid_maps = static:5000 

在从Gmail发送之后,在/var/log/syslog

 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] 

我怎样才能让我的后缀服务器接受邮件? 如果有任何其他信息我可以提供,请让我知道。

编辑:这似乎是服务器要求身份validation接收邮件在这里。 它似乎不受主机限制 – 使用服务器本身的telnet仍会导致邮件被拒绝。 使用SASL进行身份validation,然后发送电子邮件正常工作。

所以,问题似乎是服务器期望邮件的authentication在最终目的地被交付,而不应该。 想法?

我想你需要把mydestination = mydomain.com放在你的configuration中。


下一个猜测:我们知道该域名是正确的,SASL的作品…所以我现在怀疑是我们看到你的限制中的错误。 我将开始与recipient_restrictions并删除permit_sasl_authenticated后的每一个拒绝。 如果有效,请一次添加一个。 如果没有,你的下一个testing是sender_restrictions。

首先删除策略委托机制check_policy_service inet:127.0.0.1:10023 。 然后重试。 机会非常高,这是阻止你的交付。