我不太确定这是否构成此问题的最佳位置(或在服务器默认情况下)。我正在使用第三方.NET SMTP组件直接向收件人的邮件服务器发送电子邮件。我需要这样做才能获得实时的交付结果。通过另一个SMTP服务器发送需要我通过DSN报告异步获取结果,这对我的应用程序的性质来说太麻烦了。SMTP错误代码合规
无论如何,我遇到了与目标SMTP服务器返回的错误代码不符合错误消息的问题。因此,我不能将交付标记为硬性或软性反弹。例如。回复错误代码是450(表示邮箱不可用),但是回复邮件与超时有关。当我再次发送相同的消息时,它已经过了。很明显,以前的发送超时问题。
我意识到,问题可能不是接收SMTP服务器,而是防火墙/代理(无论您称之为什么),即保护服务器。
有没有人遇到类似的问题,你如何处理它。 PS:当我回到我的办公室时,我会尽量从我的日志中提供更多详细信息。
@丹,很好的依靠。灰名单是我怀疑的,我没有想到随机的方面。我'非常努力地避免DSN方法,因为这意味着我将不得不向我的应用程序添加另外一些东西,这并不证明成本。通过监视回复消息并向我的逻辑添加条件以'标记'交付的反弹类型,我确实'发明'了自己的RFC。任何人,一个给你。在我结束这一个之前,还会再等两天来获得更多的投入。谢了哥们。 – 2009-10-04 09:21:24
没问题。当然,很小的可能性只是本地MTA配置错误,而不是灰名单。但是,所有相同的原则仍然是真实的。 – 2009-10-04 10:21:43