我试图通过Postfix从mydomain.com发送一个电子邮件到我知道存在的地址([email protected])。 Postfix报告虽然地址不存在。
摘自mail.log
Jun 7 07:01:47 mydomain postfix/smtp[50352]: 010BB40606: to=<[email protected]>, relay=remote.example.org[redacted]:25, delay=1.2, delays=0.37/0/0.37/0.48, dsn=5.0.0, status=bounced (host remote.example.org[redacted] said: 550 Address unknown (in reply to RCPT TO command)) .
以下是Telnet会话(来自运行Postfix的服务器),显示该地址存在:
# telnet remote.example.org 25 Trying [redacted]... Connected to remote.example.org. Escape character is '^]'. 220 sophos.example.local ESMTP ready. HELO mydomain.com 250 sophos.example.local Hello mydomain.com [redacted] MAIL FROM: <[email protected]> 250 OK RCPT TO: <[email protected]> 250 Accepted
这里是“postconf -n”的输出:
alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no bounce_queue_lifetime = 2h inet_interfaces = loopback-only inet_protocols = ipv4 mailbox_size_limit = 0 maximal_backoff_time = 15m maximal_queue_lifetime = 2h milter_default_action = accept milter_protocol = 2 minimal_backoff_time = 5m mydestination = mydomain.com, localhost.mydomain.com myhostname = mydomain.com mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 myorigin = /etc/mailname non_smtpd_milters = inet:localhost:12301 queue_run_delay = 5m readme_directory = no recipient_delimiter = + relayhost = smtp_tls_security_level = may smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) smtpd_milters = inet:localhost:12301 smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination smtpd_tls_cert_file = /etc/letsencrypt/live/www.mydomain.com/fullchain.pem smtpd_tls_key_file = /etc/letsencrypt/live/www.mydomain.com/privkey.pem smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtpd_use_tls = yes
消息已经反弹了好几次。
非常感谢。
您的日志的相关部分是host remote.example.org[redacted] said: 550 Address unknown (in reply to RCPT TO command) 。 这基本上意味着远程主机决定不接受这个邮件。 这是一个地址是未知的。
在今天的垃圾邮件filter错误消息并不总是意味着他们说什么。 另外“地址未知”是相当不确定的,因为它可能意味着收件人或发件人。
由于响应RCPT TO命令而收到响应,远程主机的知识相当有限(即尚未看到邮件内容,返回path等)。 该决定可以基于发送服务器的IP地址, HELO主机名, MAIL FROM地址或RCPT TO地址。
如果错误消息是正确的,它必须与MAIL FROM或RCPT TO相关,因为它们是“地址” – 另外两个(至less在SMTP上下文中)不是地址。
当你正在与一个“正常的”邮件服务器交谈,给出更详细的输出时,对未知收件人地址的响应通常会显示“用户未知”或“收件人地址被拒绝”。 简洁的“地址不详”是一个微妙的暗示,正在发生。 在这种情况下,有两件事要做:
HELO或EHLO并使用相同的MAIL FROM和RCPT TO作为失败的邮件。