我对此很好奇。 这个问题(粗体显示):
有人可以命名一个好的理由,让他们的电子邮件服务器永久设置为4xx代码自动失败/立即失败?
坦率地说,这听起来像是“他们”的设置是突破性的。 SMTP不是即时消息。 停止像IRC或Jabber或MSN处理它,或插入IM技术 – 在这里 。 我不知道什么人有SMTP设置的“即时交付或失败”心态,但他们需要停止这样做。 这只是打破了事情。 每隔两三年,我就会陷入这个问题。 有人在某个地方以他们无限的智慧决定了4xx代码是直接的失败,突然之间,它的天空正在降落,而不是“哦,它会在30分钟内重新尝试运送”。 令我惊讶的是,它突然成为一个消息不会经过的“我的”问题,因为其他人错误地configuration了“他们”的SMTP服务。
如果有一个合法的理由让你的服务器以这种方式永久安装,那么第一个好的答案将会得到支票。
如果没有什么好的理由(而且我怀疑没有),那么第一个听起来好听的,如果还是逻辑错误的答案将会得到支票。
我已经设置了一次,因为所有者想知道什么时候电子邮件将被延迟,如果是的话,他想改变电子邮件的文本。 这是为了一个交易的温和,所以我可以理解的时间性的需要。 除了这样的事情,我无法想象为什么(我以为这是一个蓝色的月亮设置)
从RFC:
4.XX Persistent Transient Failure A persistent transient failure is one in which the message as sent is valid, but some temporary event prevents the successful sending of the message. Sending in the future may be successful.
很明显,4xx应该只是针对暂时的(暂时是不好的措辞)问题而发送的。 因此,没有正当的理由把它当作一个直接的错误。 应该作出例行的重试。
这样说,大胆和斜体的过度使用,表明你不仅认真而且亲自处理这件事。 我所能build议的最好的方法就是放松一下,不要因为别人的白痴而烦恼和束缚。
当有人抱怨只是指出RFC的一部分(忽略RFC 不是标准的事实),并提醒他们你无法控制别人如何设置他们的系统。
考虑一下,我可能会认为,如果从客户端发送垃圾邮件负载到已知的无效SMTP服务器内部,可能会有某种DoS攻击。 这将导致邮件服务器开始把更多的负载本身,因为它不断尝试重新发送。
我不会说我是一个很好的理由,但也许这至less是“好听的”? 🙂
也许另外一个原因可能是“如果第一次不工作,可能不会,所以让用户马上知道,而且我不知道如何提醒它将继续重试” 。 尽pipe如此,这听起来更蹩脚