我正在尝试让 sendmail 正常工作。给自己发一封邮件,好像邮件已经送达了……
5 月 24 日 06:55:13 示例 sendmail[29544]: x4O6tDOL029544: to=, [email protected] (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay , pri=30113, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (x4O6tDVt029545 消息接受传递)
但几分钟后,我收到这样的错误:
5 月 24 日 07:27:47 示例 sm-mta[30712]: x4O74rBD029756: to=, ctladdr= (0/0), delay=00:22:53, xdelay=00:04:21, mailer=esmtp, pri= 210301, 中继=mail.protonmail.ch。[185.70.40.103],dsn=4.0.0,stat=Deferred:与 mail.protonmail.ch 的连接超时。
我在 VPS 上使用 Debian 9。至今:
- 我用 hostnamectl 设置我的主机名
- 更改 /etc/hosts (不确定是否有帮助)
- 添加 SPF 记录
- 添加了 DKIM 记录
已解决:是 ISP。起初我没有想到这一点,因为我有多个提供商,而我通常使用的那个不会阻塞端口 25。我打开了一张票,现在只是等待重新启动。“我们已删除您帐户上的默认 SMTP 块。”
您的第一条消息仅表明您的本地 sendmail MTA 接受该消息进行本地处理。第二条消息是关于连接失败
mail.protonmail.ch
的主要 MX 记录所指示的服务器protonmail.com
。那将是邮件到目的地的路径上的下一跳。当地监管机构可能要求您的 VPS 提供商将端口 25 中的传出未经身份验证的 SMTP 连接仅限制到 VPS 提供商的本地 SMTP 服务器,以确保可以检测到垃圾邮件发送者和发送电子邮件的恶意软件,并在尽可能靠近源头的地方阻止他们的流量.
在这种情况下,您可能必须将适当的外发电子邮件服务器指定为您的“智能主机”,所有外发电子邮件都将通过该服务器发送。这可以通过在你的
/etc/mail/sendmail.mc
:然后重新生成您的
sendmail.cf
(通常使用cd /etc/mail; make
)。您还应该知道一个叫做灰名单的东西:邮件服务器在接收来自以前未知来源的连接时,最初可能会拒绝连接/消息,但会记住它来自的 IP 地址。合法的邮件服务器会在几分钟后重试,然后被接受;垃圾邮件发送者/恶意软件可能只是跳到更容易的目标。以这种延迟方式提交少量有效邮件后,远程邮件服务器可能会省略延迟机制。
您确定您的传出 SMTP 连接没有被防火墙(由您的 ISP)屏蔽吗?
下面的命令是否收到 SMTP 问候消息(几秒钟后)?
[是sendmail的错吗?]
telnet mail.protonmail.ch. 25