<分区>
请帮我解决这个要求。
我们正在使用 java 应用程序向用户发送邮件。
现在,我们要实现以下功能。
- 当用户打开/阅读邮件时,我们希望将时间戳保存在数据库中。
- 此人打开我们发送给他/她的邮件的次数。
请帮助我如何做到这一点。
感谢您的帮助。
<分区>
请帮我解决这个要求。
我们正在使用 java 应用程序向用户发送邮件。
现在,我们要实现以下功能。
请帮助我如何做到这一点。
感谢您的帮助。
最佳答案
一般来说,这是不可能 100% 确定的。电子邮件通常是即发即忘。但是,有一些常用的技巧来获得灵感。
您可以使电子邮件成为嵌入 1 像素图像的 html 电子邮件。当您发送电子邮件时,您为每封外发电子邮件创建一个新的图像 url(我会为每个收件人一个)并将该 url 保存在某个地方(例如在数据库中)。您还必须设置一个非常简单的服务器来接受对您正在创建的图像 url 的请求。然后该服务器响应这些调用,向它们发送相同的简单 1pixel 图像并记录调用了哪个 url(这可以通过一个简单的 Apache 服务器完成,使用访问日志来跟踪 url)。每次用户打开您的电子邮件时,他的电子邮件客户端通常会去加载图像。然后你的服务器收到一个请求,因为你为每个收件人设置了唯一的 url,你知道谁在什么时候打开了电子邮件。警告:如果电子邮件被转发,其他人可以激活相同的链接;用户可以配置客户端不打开图片; ETC。 如果您四处看看,您可能还会发现一些现成的解决方案。
如果您碰巧还可以控制用户的电子邮件服务器和/或电子邮件客户端,那么您还有很多其他的可能性。
关于java - 如何检查java应用程序发送的邮件是否已读?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25160435/