Java Mail获取内容

时间:2015-08-21 14:01:43

标签: java javamail

我正在尝试获取电子邮件的内容,但我唯一得到的是一个空字符串“”。 我通过拖放文件夹直接保存了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 

0 个答案:

没有答案