通常,在电子邮件客户端中,您需要配置 SMTP 服务器以用于发送邮件。发送邮件时,您配置的 SMTP 服务器只需使用 MX 类型的 DNS 请求解析收件人电子邮件地址中 @at 后面的域。DNS 将使用收件人邮件提供商的邮件交换器 SMTP 服务器的地址进行回答,然后您的 SMTP 服务器会将您的邮件转发给它。
我的问题是:为什么不直接由邮件客户端执行此操作?这没什么特别的:它只是一个 DNS mx 请求,并且直接与收件人提供商的邮件交换器打交道的协议始终是 SMTP。
如果是这样,邮件可以直接发往正确的服务器:这样速度会更快,而且可以避免无用的流量。
这可能是因为收件人的 SMTP 服务器可能由于某种原因关闭或太忙而无法在您发送邮件时处理邮件,因此使用我们的个人 SMTP 服务器的优势在于它会定期再次尝试发送邮件?
这是我所看到的唯一原因:实际上,如果这是邮件客户端的责任,那就不太实际了,因为用户可能会关闭它或关闭计算机。
如果这是唯一的原因:SMTP 服务器无法立即处理电子邮件的情况是否经常发生?
答案1
一个可能的原因是发件人可能无法直接到达收件人的邮件服务器。
在电子邮件和 SMTP 的早期,您拥有的不仅仅是互联网,还有 Bitnet、UUCPnet/Usenet、Berknet、MILNET、DECnet 等,它们都使用不兼容的协议。像这样的域名sri-unix.uucp
可能在 DNS 中没有 IP 地址,只有指向网关(也有 UUCP 链接的 SMTP 服务器)的 MX 记录。
如今,仅支持 IPv4 的主机和仅支持 IPv6 的主机之间的通信也存在类似的情况(尽管后者比较罕见)。
此外,网络并不完全可靠的(现在仍然不是)——你不会想盯着“收件人的邮件服务器无法访问,请等待”半个小时,而你可以直接把消息发给发送邮件在您撰写消息的同一台计算机上全天候运行,并继续工作。
补充:我在 OldUse.Net 上看到过一些非常奇怪的“发件人:”地址:
UCBVAX.@[email protected]@RAND-RELAY
farber%udel-eecis1.udeecis@[email protected]
notes@CSvax:Pucc-H:pur-phy.UUCP
utzoo!linus!security!genrad!decvax!harpo!floyd!whuxlb!pyuxll!abnjh!u1100a!pyuxn!pyuxi!mhuxm!mhuxd!mhuxa!houxm!hocda!spanky!burl!akgua!emory!sb6!sb1!ll1!otuxa!we13!ihnp4!ixn5c!inuxc!pur-ee!uiucdcs!mcewan
答案2
drk.com.ar 的评论是正确的。
如果您有来自 ISP 的静态 IP,您可以随心所欲地在本地托管自己的 SMTP 并让其处理邮件,这样就没问题了。如果您滥用它,spamhause 和 co 会将您列入黑名单,您将被完全忽略。
对于动态 IP,这不起作用,他们无法阻止您的 IP,因为您可以在 60 秒左右内更改它。因此,在这种情况下,您的 ISP 有责任过滤您的出站邮件。您将所有邮件转发到他们的 SMTP 服务器,然后由该服务器路由,如果您开始滥用它,他们的租约记录将确切知道它来自谁,并可以做出相应的反应。
有趣的是,几个月前我们遇到了一个问题,我们的 ISP 母公司 Cello 没有正确管理他们的 SMTP 服务器,一些集群被作为垃圾邮件发送者阻止,导致接收端出现间歇性的垃圾邮件阻止。
希望这可以帮助。
答案3
如果这是唯一的原因:SMTP 服务器无法立即处理电子邮件的情况是否经常发生?
这种情况会发生,尤其是当 SMTP 服务器由小型组织维护时。
但除了无法真正处理收到的邮件之外,有时它本可以处理但又不想处理。我想到两个例子:
使用灰名单作为一种对抗垃圾邮件发送者的技术,系统地拒绝来自未知发件人的首次尝试,并故意出现 4xx 错误。
一些邮件提供商会对自己的客户使用限制,当单位时间内从同一 IP 地址或帐户发送的邮件过多时,会以 4xx 错误进行响应。这可以防止客户发送垃圾邮件,无论是故意(小型企业发送其时事通讯)还是无意(作为感染的受害者)。我最近看到 GMail 每天对不到 100 封邮件这样做,而且是从一个付费帐户发送的,SMTP 消息是...从您的 IP 地址发送的邮件速率已暂时受到限制...
还存在目标 MX 出现暂时性 DNS 故障的情况。
使用第一个 SMTP 跳转来处理所有这些问题比将其留给邮件客户端更为实际。
答案4
实际服务器可能已关闭。因此您需要服务器进行重试。
这就是为什么有时您会收到“此电子邮件未送达收件人。将稍后重试。您无需对此采取任何措施。”
最后你会收到“未联系到收件人。此失败是永久性的。”