4

我有一个很特别的要求

我正在使用 Java Mail API 来访问用户的收件箱。您可以说它就像一个用于投诉的服务收件箱。用户通过向该地址发送电子邮件来注册投诉。我从收件箱中提取每封电子邮件并创建新的投诉。我的问题是我不想为回复或转发的电子邮件制造不必要的投诉。有没有办法找出来。

4

2 回答 2

4

大多数电子邮件客户端都会添加Re:或添加Fwd:到主题行,但我不会依赖它来确定电子邮件是回复还是转发文本;例如,德国邮件客户端可能会将Betr.:原始主题放在前面。

相反,您可能想查看In-Reply-To:标题和/或References:标题。有关这些标头的详细信息,请参阅RFC 4021

Message您可以通过调用该getHeader(java.lang.String)方法从 a 中检索标头。

于 2013-04-02T08:17:26.147 回答
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

于 2013-04-02T08:28:41.497 回答