我希望从我的应用程序发送邮件的用户能够收到失败通知以及为他们的帐户发送的所有邮件提供报告。SmtpClient:我如何获取失败的传递通知?
但是,这个问题的重点是回收失败的传递通知,我将如何设置一些监听它们的东西,以便我可以修改我的数据库中发送的电子邮件日志以反映这一点?
我希望从我的应用程序发送邮件的用户能够收到失败通知以及为他们的帐户发送的所有邮件提供报告。SmtpClient:我如何获取失败的传递通知?
但是,这个问题的重点是回收失败的传递通知,我将如何设置一些监听它们的东西,以便我可以修改我的数据库中发送的电子邮件日志以反映这一点?
由于marc_s只是使用评论,我会继续前进,并在此处作出回答。
SMTP客户端只是负责发送消息,并且对于消息的成功状态得到的反馈很少。如果SMTP服务器出现故障,它会得到一个异常,但通常SMTP服务器本身会处理实际的发送尝试。
即使你是正确的,你忘记了一小部分,我认为OP正在寻找。你如何指定反弹电子邮件地址?如果你没有指定它,反弹将返回到发件人地址,这将导致更多的电子邮件解析。 – Dementic 2013-10-06 09:47:22
@Dementic:这取决于你如何发送电子邮件。如果您将“发件人”电子邮件地址设置为您有权控制的地址(我认为您应该这样做),那么它会自动弹回到该地址。如果您使用用户的实际第三方电子邮件地址,则必须进行扭曲操作:http://stackoverflow.com/questions/2077135/how-to-set-the-bounce-address-using-system-net-邮件 – StriplingWarrior 2013-10-07 18:35:09
是的,环顾IO.Sockets – CarneyCode 2011-02-23 20:27:55
@Carnotaurus你有什么机会可以提供更多细节?如果这是解决方案,答案可能会比评论更好,谢谢! – BigOmega 2011-02-23 20:30:28
并非如此 - SMTP只关于*发送*邮件。如果你想捕捉退回邮件,你必须设置一个邮件账户,这些退回邮件将被发送到,然后你需要定期检查该账户,使用POP3或IMAP,并解析/解释反弹邮件,你邮寄到那里... – 2011-02-23 20:37:15