我有一个非常特殊的要求
我正在使用Java Mail API访问用户的收件箱。您可以将其称为投诉收件箱。用户通过向此地址发送电子邮件来注册投诉。我从Inbox获取每封电子邮件并创建新投诉。我的问题是我不想为回复或转发的电子邮件创建不必要的投诉。有没有办法找出答案。
答案 0 :(得分:2)
大多数电子邮件客户端都会在主题行中添加Re:
或Fwd:
,但我不会依赖它来确定电子邮件是回复还是转发文本;例如,德国邮件客户端可能会将Betr.:
放在原始主题之前。
相反,您可能希望查看In-Reply-To:
标头和/或References:
标头。有关这些标题的详细信息,请参阅RFC 4021。
您可以通过调用getHeader(java.lang.String)
方法从Message
检索标题。
答案 1 :(得分:2)
阅读电子邮件标题可能有所帮助,请参阅http://javamail.kenai.com/nonav/javadocs/javax/mail/Part.html#getAllHeaders()。如果是回复,邮件标题将包括:
In-Reply-To: Message-ID of the message that this is a reply to
如果是转发邮件,则可能会保留选定的标头。不像前一种情况那样直截了当,但仍有可能确定它是否是转发的消息。有关详细信息,请参阅http://en.wikipedia.org/wiki/Email_forwarding#Manual_client-based_forwarding。