首页 > 解决方案 > 如何处理已读回执、送达回执和退回(JavaMail)

问题描述

我们有一个要求,试图尽我们所能确定发送给用户的电子邮件的进度。我们知道这不是 100%,我建议的解决方案是在电子邮件中使用从 URL 加载的图像/水印,该 URL 将记录图像已被读取......但他们很有可能是将依赖阅读/交付收据和退回。所以我想更多地了解它,既要做好准备,也可以在会议上反对它。

如果我们要设置一个电子邮件邮箱来接收退回邮件、已读回执和送达回执,然后编写一个 Java 程序来轮询该邮箱,获取邮件并检查它们。我怎么能从垃圾邮件的送达收据中分辨出已读回执的退回?我知道读取和送达回执请求是 SMTP 标头。返回的消息是否有一个标头来说明它们是什么?并做反弹?如果是这样,它们是什么?如果不是,我是否在解析消息正文?这是否因服务器而异?里面有没有标准(或接近标准)的东西?就像“无法交付”这个词总是在那里?

我试着用谷歌搜索,但我能得到的所有点击都是关于请求收据。

标签: emailsmtpjakarta-mail

解决方案


How could I tell the bounces from the read receipts from the delivery receipts from the spam?

Jakarta Mail and JavaMail have com.sun.mail:dsn artifact that have support for parsing and creating messages containing Delivery Status Notifications. Those classes have constructors that can parse the delivery notifications but it may not be able to parse any read receipt.


推荐阅读