我有一个监控收件箱并读取新邮件的java应用程序。我只想在线程中读取最新消息,但是当解析同一线程中有多个回复的电子邮件时,它会读取整个内容。
是否可以使用javax.mail只读取电子邮件主题中的最新回复?或者我是否需要设置一些逻辑来查看标题并通过比较发送日期确定最新信息?
答案 0 :(得分:0)
如果您的邮箱中每个回复都有单独的邮件,则必须决定如何确定它们是同一“线程”的一部分。没有完美的方法可以做到这一点,不同的邮件将以不同的方式做到这一点。一个好的开始是References和In-Reply-To标头。一旦您知道属于单个线程的消息集,就可以按日期选择最新消息。
如果您有一条消息,其中包含消息正文中先前回复的文本,并且您希望将最新回复与之前的回复分开,则必须处理正文中的文本并确定哪些部分是以前的回复,哪一部分是当前回复。同样,没有完美的解决方案,这需要更多的启发式方法。