我怎么知道我的电子邮件是否是使用Asp.net收到和阅读的

时间:2012-10-13 17:59:04

标签: c# asp.net email

我需要知道如何查询已发送的电子邮件状态 是否有任何特殊课程在Asp.net中实现此功能?
如果不是,你知道这样做的方法吗?

3 个答案:

答案 0 :(得分:8)

如果您使用System.Net.Mail命名空间,可以在电子邮件中添加标题以请求阅读回执:

message.Headers.Add("Disposition-Notification-To", "<address@yourdomain.com>");

然而:

  • 许多邮件客户端不支持它们
  • 用户可能没有启用它们
  • 发送已读回执是可选的;他们可能只是说没有

答案 1 :(得分:7)

没有万无一失的方法可以知道电子邮件是否已被阅读,因为电子邮件是“发送并忘记”#34;服务类型。

有些邮件做的一件事就是在电子邮件中包含一个小的(1x1像素足够)唯一图像链接,链接回发件人的网络服务器。如果访问该图像,则电子邮件已打开。

请注意,这并不总是有效。事实上,gmail和Outlook有时会要求你选择加入&#34;在电子邮件中显示图像。

答案 2 :(得分:2)

正如大家所说,没有确定的方法可以知道。 Sendgrid电子邮件发送http://sendgrid.com内置支持按建议添加1px图像。它们还有一个API,可让您测试是否已打开电子邮件或是否已单击包含的链接。同样的警告适用于上述。但是,它至少可以让您检查已发送电子邮件的状态。我们其中一个网站的97%的客户正在公开他们是否阅读过电子邮件。

您可以在此处查看电子邮件事件API http://docs.sendgrid.com/documentation/api/event-api/