我正在尝试获取电子邮件的内容,但我唯一得到的是一个空字符串“”。 我通过拖放文件夹直接保存了Outlook 2013电子邮件,并尝试使用此方法获取其内容。
此外,电子邮件中肯定有内容。
public static String getTextContentFromMail2(Part p) throws MessagingException, IOException
{
if (p.isMimeType("text/*"))
{
String s = (String) p.getContent();
//textIsHtml = p.isMimeType("text/html");
return s;
}
if (p.isMimeType("multipart/alternative"))
{
// prefer html text over plain text
Multipart mp = (Multipart) p.getContent();
String text = null;
for (int i = 0; i < mp.getCount(); i++)
{
Part bp = mp.getBodyPart(i);
if (bp.isMimeType("text/plain"))
{
if (text == null)
{
text = getTextContentFromMail2(bp);
}
continue;
}
else if (bp.isMimeType("text/html"))
{
String s = getTextContentFromMail2(bp);
if (s != null)
{
return s;
}
}
else
{
return getTextContentFromMail2(bp);
}
}
return text;
}
else if (p.isMimeType("multipart/*"))
{
Multipart mp = (Multipart) p.getContent();
for (int i = 0; i < mp.getCount(); i++)
{
String s = getTextContentFromMail2(mp.getBodyPart(i));
if (s != null)
{
return s;
}
}
}
return null;
}
只是为了确保电子邮件的示例内容:
Von: Hello Hello [mailto:hello.hello@hello.hello.com] Im Auftrag von Hello-Hello-Hello.Hello Gesendet: Donnerstag, 20. August 2015 10:33 An: Hello Hello Betreff: WG: Hello -Hello -Hello Hello (FROM: - Hello Hello) Mit freundlichen Grüßen / with kind regards / 此致 Hello .-Hello . Hello Hello