gpt4 book ai didi

jakarta-mail - MimeMessage 电子邮件获取没有先前信件的回复正文

转载 作者:行者123 更新时间:2023-12-05 02:23:57 27 4
gpt4 key购买 nike

在我的服务器中,我不断收到来自 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 write in Y ...”,然后是所有以前的信件。我如何只获得新的回复文本? (没有之前的通信)?

谢谢。

最佳答案

我确定之前已经在 stackoverflow 上讨论过这个问题,但我会让您进行搜索...

简单的回答:没有标准的方法可以做到这一点。不同的邮件发送者选择不同的技术将原始邮件的文本嵌入到回复邮件中。有一些共同的约定,您可以编写启发式方法来识别这些约定,但因为它们是启发式方法,所以有时会失败。 JavaMail 在这里没有任何帮助;这只是一个字符串处理问题。

关于jakarta-mail - MimeMessage 电子邮件获取没有先前信件的回复正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17943582/

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