我怎么知道smtp服务器是否发送了我的电子邮件?

时间:2010-01-27 06:05:58

标签: c# smtpclient

假设我使用smtpclient将我的电子邮件提交到我的本地smtp服务器。我如何知道电子邮件是否被正式发送?

2 个答案:

答案 0 :(得分:6)

最重要的是,你没有。

SMTP是断开连接的协议,而不是事务协议。发送电子邮件时,SMTP只会知道您和服务器之间发生的情况。您的服务器可能会排队邮件,而不是因为网络问题而发送给最终收件人,而您永远不会知道。

您可以请求DSN(传递状态通知)等内容,但并非所有服务器都支持它们。如果您的服务器支持它们,您可能需要查看请求它。

我知道这不是你想要的答案,但事实就是如此。

答案 1 :(得分:4)

SmtpClient.SendCompleted Event可以提供帮助