eml文件是邮件文件的后缀名。
解析邮件文件主要目地是分析批量相同格式,不同内容的邮件。
比如招聘,有大量简历,现在需要提取其中的邮箱及姓名。
单个复制不是程序员的选择。
程序员就会把邮件批量导出到文件中。
通过email库,把eml
转化成html文件。
通过正则表达式,从html中提取指定信息。
具体的做法
依赖于两个库,commons-email
和mail
pom依赖为:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <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 14
| 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
这两个类。