假设我使用 smtpclient 将我的电子邮件提交到我的本地 smtp 服务器。我如何知道电子邮件是否已实际发送?
问问题
1248 次
2 回答
6
最重要的是,你没有。
SMTP 是一种断开连接的协议,而不是一种事务处理协议。当您发送电子邮件时,SMTP 只知道您和您的服务器之间发生了什么。完全有可能您的服务器可能正在排队邮件,并且由于网络问题而没有发送给最终收件人,而您永远不会知道。
您可以请求 DSN(交付状态通知)之类的内容,但并非所有服务器都支持它们。如果您的服务器确实支持它们,您可能需要查看请求一个。
我知道这不是你想要的答案,但它就是这样。
于 2010-01-27T13:10:08.223 回答
4
SmtpClient.SendCompleted 事件可能会有所帮助
于 2010-01-27T06:09:12.787 回答