我正在开发允许发件人发送邮件的 C# 项目,并且:
- 验证收件人是否已阅读电子邮件?
- 验证收件人的电子邮件是否位于收件箱或垃圾邮件中...
- 验证收件人的电子邮件 ip
- 验证收件人单击发件人电子邮件上的链接
我不知道如何开始处理这些问题:(
感谢并感谢您的帮助!!!
简短的回答:
基于您无权访问收件人的计算机,以下是 patrix 简短答案的长答案版本:
验证收件人是否已阅读电子邮件?
不幸的是,电子邮件从未被设计为让您知道何时收到电子邮件,并且很少(当然也没有我所知道的标准邮件客户端)会报告邮件是否正确接收*,更不用说打开了。但是,有时您可以通过嵌入 HTML 图像标记来跟踪电子邮件,并跟踪从服务器下载该图像的时间。有很多警告,例如它仅适用于 HTML 电子邮件,并且仅在启用图像的情况下,但这是跟踪电子邮件打开的唯一“可靠”方法之一,也是邮件列表提供商(谁需要考虑很多这些东西)
[* 许多客户实施了一种称为“已读回执”(技术上是消息处置通知或 MDN)的功能,但我相信很少有人使用过,它会发送一封电子邮件以响应阅读电子邮件。电子邮件可以通过设置适当的标题来请求已读回执,但收件人可以选择回复。]
验证收件人的电子邮件是否位于收件箱或垃圾邮件中...
几乎不可能;首先,“垃圾邮件”文件夹的概念并非普遍存在于所有邮件客户端,也从未成为任何电子邮件规范的一部分[据我所知]。在第二种情况下,正如我所提到的,很少(如果有的话)电子邮件客户端报告电子邮件的状态,更不用说它被放入的文件夹了。
验证收件人的电子邮件 ip
同样,不可靠,但是如果您按照我在第 1 点中提到的那样实施基于图像的跟踪,您将在这方面取得一些进展
验证收件人单击发件人电子邮件上的链接
这称为“点击跟踪”。这可以相当“容易”地完成。您不是直接提供指向某个位置的链接,而是首先链接到跟踪 URL。例如,您应该链接到http://mydomain.com/TRACKINGID而不是链接到http://www.example.com ,然后它会重定向到http://www.example.com *。然后,在服务器端,您可以在访问http://mydomain.com/TRACKINGID时登录。然后,您可以将唯一的跟踪 ID 放入每个收件人的每封电子邮件中,例如,收件人 A 收到一个指向http://mydomain.com/TRACKIDA的链接,而收件人 B 收到一个指向http://mydomain.com/TRACKIDB的链接. /TRACKIDA 和 /TRACKIDB 都重定向到 example.com,但是,假设您正在记录 HTTP 请求,您可以看到谁访问了他们的链接、他们从哪里访问、他们何时访问该链接以及他们访问了多少次。
这是所有邮件列表提供商跟踪点击率的方式,以及您大致需要做的事情
[* 请注意,您显然需要相关软件来执行此操作,例如使用“简单”的 PHP 页面,或使用 Apache mod_rewrite - 真的可以让您的船漂浮]