我写了一个简单的ASP.NET应用程序,它将邮件发送到指定的电子邮件地址(对于有问题的公司的客户,而不是垃圾邮件=)),部分要求是,如果电子邮件发送失败,应用程序将记录下来。没问题,我想,我只是抓住一个SmtpFailedRecipientsException并做一个笔记。事实证明,Gmail中继在发送到无效的电子邮件地址时不会抛出异常,他们只是接受发送的邮件,然后如果发送失败,Gmail会向您发送一封电子邮件,说明邮件无法发送给收件人。我的问题是,如果我的客户使用Google Business为他们的邮件(他们是),有没有办法配置发送,以便在发送失败时我会得到这个例外?
答案 0 :(得分:3)
我想到的一件事是设置某种“监听器”,定期检查将收到反弹的Gmail收件箱。如果您可以这样做,则可以解析找到的回弹电子邮件,并使用该信息查看发生的情况并采取相应措施。
在Codeproject上发现了这篇文章,该文章介绍了如何阅读gmail收件箱中的邮件。它可以让你走上正确的轨道。 http://www.codeproject.com/KB/applications/ReadGmailInboxMessage.aspx
答案 1 :(得分:1)
没有。在许多情况下,SMTP协议允许退回消息而不是错误代码,并且没有标准方法(或者我认识的非标准方式)强制邮件中继同步操作。由于继电器接收到您的信息后可能会发生许多错误,因此无法避免跳转的可能性。