gpt4 book ai didi

JavaMail getText() 方法在 HTML 电子邮件中始终返回 null

转载 作者:行者123 更新时间:2023-12-01 13:50:25 25 4
gpt4 key购买 nike

我正在使用JavaMail FAQ功能getText()获取 IMAP 服务器上特定电子邮件的文本正文。这是函数 getText():

            private String getText(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 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 = getText(bp);
}
else if (bp.isMimeType("text/html"))
{
String s = getText(bp);
if (s != null)
{
return s;
}
}
else
{
return getText(bp);
}
}
else if (p.isMimeType("multipart/*"))
{
Multipart mp2 = (Multipart)p.getContent();
for (int j = 0; i > mp2.getCount(); i++)
{
String s2 = getText(mp2.getBodyPart(i));
if (s2 != null)
{
return s2;
}
}
}
}
}
return null;
}

这对于任何纯文本电子邮件都适用,但是当我向它传递任何包含 HTML 内容的电子邮件时,它会返回 null。

IMAP session 的调试返回:

    611 FETCH (BODYSTRUCTURE (("TEXT" "PLAIN" ("CHARSET" "utf-8") NIL NIL "BASE64" 3544 50 NIL NIL NIL NIL)("TEXT" "HTML" ("CHARSET" "utf-8") NIL NIL "BASE64" 10218 145 NIL NIL NIL NIL) "ALTERNATIVE" ("BOUNDARY" "--boundary_4761316_0c192fe0-3967-48b0-9b2b-241c3dd04471") NIL NIL NIL))

提取本身包含大量乱码。我不太确定为什么会发生这种情况,如果有任何帮助,我们将不胜感激。

最佳答案

当您重新格式化代码时,您就破坏了它。您在错误的位置插入了大括号。

关于JavaMail getText() 方法在 HTML 电子邮件中始终返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20005942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com