使用java删除电子邮件页脚和签名
嗨,有人能告诉我如何从邮件中删除页脚吗。使用java删除电子邮件页脚和签名,java,email,email-parsing,Java,Email,Email Parsing,嗨,有人能告诉我如何从邮件中删除页脚吗。 我只需要存储电子邮件的正文并删除其他内容,无论是免责声明还是页脚。您可以使用正则表达式 假设电子邮件看起来像 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.compi
我只需要存储电子邮件的正文并删除其他内容,无论是免责声明还是页脚。您可以使用正则表达式 假设电子邮件看起来像
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'
请注意,
*
多次匹配任何字符,(
和)
表示一个字符。完整正则表达式语法电子邮件页脚有一个标准标记-请参阅
即:
--
您可以使用正则表达式来查找它,例如
Pattern pattern = Pattern.compile("^-- $", Pattern.MULTILINE);
Matcher m = pattern.matcher(emailBodyText);
if (m.find()) {
emailBodyText = emailBodyText.substring(0, m.start());
}
可悲的是,如今它没有得到广泛应用。例如,Gmail不应用它
对于gmail消息,您可以在电子邮件的html中查找数据smartmail=“gmail\u签名”
您可能必须为每个主要电子邮件系统实现自定义清理代码