使用java打开eml文件

eml文件是邮件文件的后缀名。
解析邮件文件主要目地是分析批量相同格式,不同内容的邮件。

比如招聘,有大量简历,现在需要提取其中的邮箱及姓名。
单个复制不是程序员的选择。
程序员就会把邮件批量导出到文件中。
通过email库,把eml转化成html文件。
通过正则表达式,从html中提取指定信息。

具体的做法

依赖于两个库,commons-emailmail
pom依赖为:

1
2
3
4
5
6
7
8
9
10
11
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.3.1</version>
</dependency>

<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
public class ResolveEmail {
public static void main(String[] args) throws Exception {
File file = new File("C:/Users/ff/Desktop/cz.eml");
MimeMessage mimeMessage = MimeMessageUtils.createMimeMessage(null, file);
MimeMessageParser parser = new MimeMessageParser(mimeMessage);
System.out.println("发件人:"+parser.getFrom());
System.out.println("主题:"+parser.getSubject());
System.out.println("收件人:"+parser.getTo());
MimeMessageParser x = parser.parse();
String html = x.getHtmlContent();
System.out.println(html);
}
}

在这里主要是用到了

  • MimeMessageUtils
  • MimeMessageParser

这两个类。