嗨,有人可以告诉如何从邮件中删除页脚。我只需要存储电子邮件的正文并删除其他内容,无论是免责声明还是页脚。
问问题
641 次
2 回答
0
电子邮件页脚应该有一个标准标记 - 请参阅https://en.wikipedia.org/wiki/Signature_block#Standard_delimiter
这是:
--
您可以使用正则表达式来查找,例如
Pattern pattern = Pattern.compile("^-- $", Pattern.MULTILINE);
Matcher m = pattern.matcher(emailBodyText);
if (m.find()) {
emailBodyText = emailBodyText.substring(0, m.start());
}
可悲的是,这些天它没有被广泛使用。例如,Gmail 不应用它。
对于 gmail 消息 - 您可以在电子邮件的 html 中查找 data-smartmail="gmail_signature"。
您可能必须为每个主要电子邮件系统实现自定义清理代码。
于 2020-07-14T21:09:31.000 回答
-1
您可以使用正则表达式。
假设电子邮件看起来像
String emailContents =
"AAA this is the email header BBB\n" +
"This is the body\n" +
"CCC this is the email footer DDD";
您可以执行以下操作:
Pattern pattern = Pattern.compile("AAA.*BBB(.*)CCC.*DDD");
Matcher matcher = pattern.matcher(emailContents);
if (!matcher.matches()) throw new Exception("Invalid email");
String emailBody = matcher.group(1);
System.out.println(emailBody); // prints 'This is the body'
于 2013-11-07T09:54:00.353 回答