我可以接收来自 Gmail 的电子邮件,但是当某些其他服务器尝试向我的服务器发送电子邮件时,它们会被拒绝
以下是我尝试从以下位置获取身份验证时的日志启动通信网站以及前一天尝试向我发送某些内容的其他服务器。
Oct 11 05:26:54 snw postfix/smtpd[2342]: connect from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 05:26:55 snw postfix/smtpd[2342]: NOQUEUE: reject: RCPT from 118-161-77-187.dynamic.hinet.net[118.161.77.187]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=SMTP helo=<159.8.48.206>
Oct 11 05:26:56 snw postfix/smtpd[2342]: lost connection after RCPT from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 05:26:56 snw postfix/smtpd[2342]: disconnect from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 05:30:16 snw postfix/anvil[2344]: statistics: max connection rate 1/60s for (smtp:118.161.77.187) at Oct 11 05:26:54
Oct 11 05:30:16 snw postfix/anvil[2344]: statistics: max connection count 1 for (smtp:118.161.77.187) at Oct 11 05:26:54
Oct 11 05:30:16 snw postfix/anvil[2344]: statistics: max cache size 1 at Oct 11 05:26:54
Oct 11 12:31:05 snw postfix/smtpd[2613]: connect from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 12:31:06 snw postfix/smtpd[2613]: NOQUEUE: reject: RCPT from 118-161-77-187.dynamic.hinet.net[118.161.77.187]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=SMTP helo=<159.8.48.206>
Oct 11 12:31:07 snw postfix/smtpd[2613]: lost connection after RCPT from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 12:31:07 snw postfix/smtpd[2613]: disconnect from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 12:34:27 snw postfix/anvil[2615]: statistics: max connection rate 1/60s for (smtp:118.161.77.187) at Oct 11 12:31:05
Oct 11 12:34:27 snw postfix/anvil[2615]: statistics: max connection count 1 for (smtp:118.161.77.187) at Oct 11 12:31:05
Oct 11 12:34:27 snw postfix/anvil[2615]: statistics: max cache size 1 at Oct 11 12:31:05
Oct 11 13:45:07 snw dovecot: imap-login: Disconnected (no auth attempts in 1 secs): user=<>, rip=141.212.122.112, lip=159.8.48.206, TLS: Disconnected, session=<pGIDxtch6QCN1Hpw>
Oct 11 23:42:31 snw postfix/smtpd[3020]: connect from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 23:42:32 snw postfix/smtpd[3020]: NOQUEUE: reject: RCPT from 118-161-77-187.dynamic.hinet.net[118.161.77.187]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=SMTP helo=<159.8.48.206>
Oct 11 23:42:33 snw postfix/smtpd[3020]: lost connection after RCPT from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 23:42:33 snw postfix/smtpd[3020]: disconnect from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 23:45:53 snw postfix/anvil[3022]: statistics: max connection rate 1/60s for (smtp:118.161.77.187) at Oct 11 23:42:31
Oct 11 23:45:53 snw postfix/anvil[3022]: statistics: max connection count 1 for (smtp:118.161.77.187) at Oct 11 23:42:31
Oct 11 23:45:53 snw postfix/anvil[3022]: statistics: max cache size 1 at Oct 11 23:42:31
Oct 12 17:28:53 snw postfix/smtpd[3682]: connect from gateway.startcom.org[212.117.158.94]
Oct 12 17:28:55 snw postfix/smtpd[3682]: 12EE9DA2954: client=gateway.startcom.org[212.117.158.94]
Oct 12 17:28:55 snw postfix/smtpd[3682]: lost connection after RCPT from gateway.startcom.org[212.117.158.94]
Oct 12 17:28:55 snw postfix/smtpd[3682]: disconnect from gateway.startcom.org[212.117.158.94]
Oct 12 17:29:01 snw postfix/smtpd[3682]: connect from apache-7.startcom.org[192.116.242.7]
Oct 12 17:29:01 snw postfix/smtpd[3682]: SSL_accept error from apache-7.startcom.org[192.116.242.7]: -1
Oct 12 17:29:01 snw postfix/smtpd[3682]: warning: TLS library problem: 3682:error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol:s23_srvr.c:647:
Oct 12 17:29:01 snw postfix/smtpd[3682]: lost connection after STARTTLS from apache-7.startcom.org[192.116.242.7]
Oct 12 17:29:01 snw postfix/smtpd[3682]: disconnect from apache-7.startcom.org[192.116.242.7]
以下是我使用 Gmail 发送到我的服务器时的日志
Oct 12 17:58:05 snw postfix/smtpd[3968]: connect from mail-io0-f174.google.com[209.85.223.174]
Oct 12 17:58:05 snw postfix/smtpd[3968]: E3E54DA0A51: client=mail-io0-f174.google.com[209.85.223.174]
Oct 12 17:58:06 snw postfix/cleanup[3977]: E3E54DA0A51: message-id=<CADZik+Vnys--dh_dhOqTSE2ZePWZiBKVp9-EqnYAyJRfk+hQGA@mail.gmail.com>
Oct 12 17:58:06 snw postfix/qmgr[5644]: E3E54DA0A51: from=<[email protected]>, size=1931, nrcpt=1 (queue active)
Oct 12 17:58:06 snw postfix/smtpd[3968]: disconnect from mail-io0-f174.google.com[209.85.223.174]
Oct 12 17:58:06 snw postfix/pipe[3980]: E3E54DA0A51: to=<[email protected]>, relay=dovecot, delay=0.77, delays=0.38/0.1/0/0.29, dsn=2.0.0, status=sent (delivered via dovecot service)
Oct 12 17:58:06 snw postfix/qmgr[5644]: E3E54DA0A51: removed
我用:
- Roundcube 作为 IMAP 客户端(可能不相关)
- Dovecot 用于 MySQL 上的虚拟用户身份验证
- Postfix 作为邮件软件(
postconf
输出这里)
我怀疑这与我的服务器对 SSL/TLS 身份验证的限制有关,但我该如何配置我的服务器,以便它能够接受几乎所有的东西
答案1
这些日志行中明显存在该问题:
Oct 12 17:29:01 snw postfix/smtpd[3682]: SSL_accept error from apache-7.startcom.org[192.116.242.7]: -1
Oct 12 17:29:01 snw postfix/smtpd[3682]: warning: TLS library problem: 3682:error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol:s23_srvr.c:647:
apache7-startcom.org 尝试建立 SSL/TLS 连接但失败,可能是因为它尝试使用您的服务器不接受的 SSL/TLS 协议。
您确实应该发布输出,postconf -n
以便它仅显示与默认值不同的配置参数。您的postconf
输出包含太多噪音,因此不太有用。
这就是说713 行您的postconf
要点似乎是禁止除 TLSv1.2 之外的所有 TLS 协议。这非常严格,对于应该能够接受传入邮件的邮件服务器来说可能太过分了。我将设置相关的 TLS 配置参数,如下所示:
smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3
smtp_tls_mandatory_protocols=!SSLv2,!SSLv3
这样,您便可以禁用 SSLv2 和 SSLv3(它们都是有问题且不安全的),而保留 TLSv1、TLSv1.1 和 TLSv1.2 可用。在 中添加或更改这些参数后,重新启动 Postfix /etc/postfix/main.cf
。
答案2
我在将 gmail 连接到我的 postfix 服务器时遇到了完全相同的情况,并出现了相同的错误消息。结果发现我的证书和密钥上的权限和 SELinux 上下文不正确。
就我而言,我执行了 sftp 将证书放到服务器上,然后将包括证书在内的整个目录复制到最终位置。
restorecon -rv [directory]
如果您将目录从其他地方移动(或使用 -Z 标志),则恢复正确的 SELinux 上下文。
确保在更正权限和所有权(root:root & 640)时,对整个目录进行递归操作,而不仅仅是目录内的文件。
/etc/postfix/main.cfg(仅相关部分)
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes
#Do not forget that the directory and contents have to be owned by root
smtpd_tls_cert_file = /etc/letsencrypt/live/mydomain.com-0001/fullchain7.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mydomain.com-0001/privkey7.pem