Postfix 中继到 Gmail 现已推迟

Postfix 中继到 Gmail 现已推迟

我的 VPS 服务器上有多个域,postfix 通过虚拟用户表将电子邮件转发到相应的 gmail 帐户。本周我执行了sudo apt-get upgrade,这可能无关紧要。

截至 7 月 8 日凌晨 2 点,我在 mail.log 中看到了很多以下行:

conversation with gmail-smtp-in.l.google.com[209.85.143.27] timed out while receiving the initial server greeting
conversation with alt1.gmail-smtp-in.l.google.com[74.125.79.27] timed out while receiving the initial server greeting
conversation with alt2.gmail-smtp-in.l.google.com[74.125.53.27] timed out while receiving the initial server greeting

但有些信息还是传出去了:

to=<[email protected]>, orig_to=<[email protected]>, relay=alt3.gmail-smtp-in.l.google.com[74.125.45.27]:25, delay=1130, delays=0.22/0/1128/1.8, dsn=2.0.0, status=sent (250 2.0.0 OK 1310095301 x67si39929948yhm.8)

我看到网上有很多人报告过这个问题,但都没有真正的解决方案。我检查了我的 postfix 配置,但没有发现任何变化。

postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
inet_interfaces = all
inet_protocols = all
mailbox_size_limit = 0
mydestination = $myhostname, localhost, localhost.localdomain
myhostname = domainx.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 109.123.86.72/32
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost = 
smtp_tls_note_starttls_offer = yes
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Linux)
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = 
smtpd_sasl_path = private/auth-client
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_tls_CAfile = /etc/ssl/certs/dovecot.pem
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/ssl/certs/server.crt
smtpd_tls_key_file = /etc/ssl/private/server.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
virtual_alias_domains = domain.com, domain.co.uk, domainb.co.uk, domain.net
virtual_alias_maps = hash:/etc/postfix/valiases

我尝试过清空邮件队列(删除所有延迟邮件)并重新启动服务器。我想我运行的是 Linux 而不是 Windows,所以这没用 :)

如果需要的话我可以发布更多配置。有什么想法吗?

答案1

它说错误是超时,而不是拒绝。您遇到的是网络问题,而不是邮件问题。尝试使用nc或连接telnet以查看需要多长时间。使用mtr查看您的数据包丢失情况。

答案2

一些电子邮件成功发送的事实强烈表明问题可能出在远程端 - 在本例中是 gmail。您还可以查看是否有任何可以识别的特定趋势 - 可能是持续工作的 gmail 服务器。

进一步验证以隔离任何实际网络相关问题的可能性可能是对其中一个不工作的服务器执行跟踪路由,然后 ping 倒数第二跳。如果网络正常工作,则连续 ping(假设特定主机没有丢弃 ICMP -ping)应该会成功且不会出现错误。

相关内容