在我的服务器中,我不断收到来自 gmail 的电子邮件。
我将它们作为 MimeMessage 类型接收。
到目前为止,我正在做的是使用以下方法提取正文:
private String getText(Part p) throws MessagingException, IOException {
if (p.isMimeType("text/*")) {
String s = (String) p.getContent();
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;
}
我现在的问题是基于我收到的“回复”前一封电子邮件的电子邮件。当我提取这些电子邮件的文本时,我收到“X 写在 Y ...”,然后是所有以前的通信。我如何只获得新的响应文本?(没有以前的通信)?
谢谢。