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

Rik*_*ika 3 c# asp.net email

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

Bri*_*dge 8

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

message.Headers.Add("Disposition-Notification-To", "<address@yourdomain.com>");
Run Code Online (Sandbox Code Playgroud)

然而:

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


Joa*_*son 7

没有万无一失的方法可以知道电子邮件是否已被阅读,因为电子邮件是一种"发送和忘记"类型的服务.

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

请注意,这并不总是有效.事实上,这就是gmail和outlook有时需要你"选择"在电子邮件中显示图像的原因.