【发布时间】:2012-09-22 09:08:39
【问题描述】:
我已经实施了一种方法,但我不确定它是否正确,或者将来会给我带来问题。
给这封电子邮件:
Date: Mon, 17 Sep 2012 04:14:36 +0200
Content-Type: text/plain;
charset="utf-7"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
To: user@address.com
Dear Sir/madam, ... etc
还有这段代码:
MimePart part; //The email
if (part.isMimeType("text/plain")) {
String plainContent = part.getContent().toString();
例外是:
java.io.UnsupportedEncodingException: utf-7
我做了这个修改,所以字符集总是utf-8,编码是quoted-printable
part.setHeader("Content-Transfer-Encoding", "quoted-printable");
part.setHeader("Content-Type", "text/plain; charset=utf-8");
异常不再存在,plainContent 是正确的。但这似乎太容易解决了……我将来会遇到哪些问题?有没有更好的方法来跳过异常并在不强制 carset 和编码的情况下获取电子邮件内容?
【问题讨论】:
-
我编辑了邮件标题。他们非常不稳定。如果真正的标题看起来像你最初发布的那样,那就是你的问题。
标签: java mime mime-message