[英]How do I can fetch the email body without downloading the attachment file
此问题与Java Mail API和Gmail帐户有关。
我想通过忽略附件文件来显示gmail电子邮件中的消息部分。 我的代码在没有附件的情况下正常工作,但是当涉及带附件的电子邮件时,它不提供输出。
我只想显示电子邮件中的邮件正文。
提前致谢。
这只是在没有尝试调试代码的情况下首次拍摄,但您可以尝试遵循原始的Oracle建议 :
private boolean textIsHtml = false;
/**
* Return the primary text content of the message.
*/
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 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 = getText(bp);
continue;
} else if (bp.isMimeType("text/html")) {
String s = getText(bp);
if (s != null)
return s;
} else {
return getText(bp);
}
}
return text;
} else if (p.isMimeType("multipart/*")) {
Multipart mp = (Multipart)p.getContent();
for (int i = 0; i < mp.getCount(); i++) {
String s = getText(mp.getBodyPart(i));
if (s != null)
return s;
}
}
return null;
}
我认为您正在尝试从中获取MultiPart和内容存在问题。 上述代码仅在以下情况下有效:
您可以使用Message对象(它是一个Part)调用getText方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.