Tom*_*nal 5 email smtp postfix
我已经设置了一个有效的 postfix 服务器,只是所有传入的邮件都被拒绝了。
当我尝试通过 telnet 发送邮件时:
MAIL FROM: <tom@valid.domain.com>
250 2.1.0 Ok
RCPT TO: <tom@mydomain.com>
554 5.7.1 <my.host.name[1.2.3.4]>: Client host rejected: Access denied
Run Code Online (Sandbox Code Playgroud)
我的 postconf -n
alias_database = hash:/etc/postfix/aliases alias_maps = hash:/etc/postfix/aliases append_dot_mydomain = 否 比夫 = 否 broken_sasl_auth_clients = 否 config_directory = /etc/postfix 延迟警告时间 = 4 小时 inet_interfaces = 全部 邮箱大小限制 = 0 masquerade_domains = mail.mydomain.com www.mydomain.com maximal_backoff_time = 8000s maximal_queue_lifetime = 7d minimum_backoff_time = 1000s 我的目的地 = 我的网络 = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 myorigin = techxonline.net readme_directory = 否 收件人分隔符 = + 中继主机 = 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、permit 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:1002 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 = 静态: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 = 静态: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=<tom@valid.domain.com> to=<tom@mydomain.com> 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]
Run Code Online (Sandbox Code Playgroud)
如何让我的 postfix 服务器接受邮件?如果我可以提供任何其他信息,请告诉我。
编辑:似乎服务器需要身份验证才能在此处接收邮件。它似乎不受主机限制——使用来自服务器本身的 telnet 仍然会导致邮件被拒绝。使用 SASL 进行身份验证然后发送电子邮件工作正常。
因此,问题似乎在于服务器希望对邮件进行身份验证以在最终目的地交付,而这不应该。想法?
我认为你需要输入mydestination = mydomain.com
你的配置。
下一个猜测:我们知道域名是正确的并且 SASL 有效...所以我现在怀疑我们在您的限制中发现了错误。我将从recipient_restrictions 开始,并在permit_sasl_authenticated 之后删除所有拒绝。如果有效,请一次将它们添加回来。如果没有,您的下一个测试是 sender_restrictions。