我有一个很特别的要求
我正在使用 Java Mail API 来访问用户的收件箱。您可以说它就像一个用于投诉的服务收件箱。用户通过向该地址发送电子邮件来注册投诉。我从收件箱中提取每封电子邮件并创建新的投诉。我的问题是我不想为回复或转发的电子邮件制造不必要的投诉。有没有办法找出来。
我有一个很特别的要求
我正在使用 Java Mail API 来访问用户的收件箱。您可以说它就像一个用于投诉的服务收件箱。用户通过向该地址发送电子邮件来注册投诉。我从收件箱中提取每封电子邮件并创建新的投诉。我的问题是我不想为回复或转发的电子邮件制造不必要的投诉。有没有办法找出来。
大多数电子邮件客户端都会添加Re:
或添加Fwd:
到主题行,但我不会依赖它来确定电子邮件是回复还是转发文本;例如,德国邮件客户端可能会将Betr.:
原始主题放在前面。
相反,您可能想查看In-Reply-To:
标题和/或References:
标题。有关这些标头的详细信息,请参阅RFC 4021。
Message
您可以通过调用该getHeader(java.lang.String)
方法从 a 中检索标头。
阅读电子邮件标题可能会有所帮助,请参阅 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。