如何检查电子邮件是否已使用 POP3/SMTP 阅读?
如何检查电子邮件是否已使用 POP3/SMTP 阅读?
我可以阅读电子邮件,但无法确定电子邮件是否已被阅读。 任何建议表示赞赏。
How can I check if an e-mail has been read using POP3/SMTP?
I am able to read e-mails, but I can not figure out if the e-mail has been read or not. Any suggestions are appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
没有完全可靠的方法可以做到这一点,虽然某些服务器支持读取回执,但它依赖于客户端响应回执请求。
人们执行此操作的另一种方法是将跟踪图像嵌入到从服务器拉取的 HTML 电子邮件中,并且命中构成阅读,但这通常不准确,因为大多数电子邮件阅读器默认情况下会阻止 html 外部内容。
There is no completely reliable way to do this, while some servers support Read receipts it is dependent on the client to respond to the receipt request.
Another way people do this is by embedding a tracking image into an HTML email that will get pulled from a server and that hit constitutes the read however this is often not accurate as most email reader block html external content by default.
在 statcounter.com 上注册一个免费帐户。 转到安装代码选项,选择隐形跟踪按钮和仅 HTML 计数器。 Statcounter 现在将为您提供 HTML 图像片段,您必须将其插入 HTML 电子邮件正文中。
该图像在电子邮件中不可见,但用户在打开电子邮件客户端时必须单击“显示图像”。
如果您的服务器或客户端不支持已读回执,这大约是您可以执行此操作的唯一方法。
Sign up for a free account on statcounter.com. Goto the install code options, choose invisible tracking button and HTML only counter. Statcounter will now provide you an HTML Image snippet that you have to insert inside the body of your HTML email message.
The image isn't visible in the email but the person will have to click "Display Images" when they open their email client.
This is about the only way you can do it if your server or client does not support read receipts.
使用 POP3,电子邮件在阅读后几乎总是从服务器中删除。 当客户端连接到 POP3 服务器时,服务器通常会将电子邮件传输到客户端,然后从其自己的存储中删除该电子邮件。 因此,如果您可以阅读一封电子邮件,则很可能该电子邮件尚未被阅读。
With POP3, emails are almost always deleted from the server after they are read. When a client connects to a POP3 server, the server usually transfers emails to the client and then deletes the email from its own storage. So, if you can read an email, chances are that it hasn't been read.
据我所知,这只是 POP3 的客户端细节。 如果您希望在多个客户端上反映状态,则需要使用 IMAP。 使用网络邮件阅读器,它们会跟踪唯一的消息 ID 以及是否已在客户端上阅读,但如果您将其加载到桌面 pop3 客户端上,则不会将其标记为已读。
As far as I know this is a client side only detail when it comes to POP3. If you wanted to have the status reflected on multiple clients you'd need to used IMAP. With web mail readers they keep track of the unique message ID and whether or not it has been read on the client, but if you were to load it on a desktop pop3 client, it would not be flagged as read.
将最新阅读的电子邮件的消息 ID 存储在某处,并在运行到 pop 时检查
store the latest read email's message-id somewhere and check when you run to pop
无法保证电子邮件已被阅读,特别是在两种情况下,我们不会收到已读回执,
如果用户启用了已读回执,则使用
MimeMessage.setHeader("Disposition-Notification-To", "[电子邮件受保护]");
There is no guarantee an e-mail has been read or not, especially 2 cases we won't receive a Read Receipt,
If user enabled Read Receipt then, the request for the receipt is sent as a header attached to the mail using the method
MimeMessage.setHeader("Disposition-Notification-To", "[email protected]");