Java电子邮件解析器? [英] Java Email message Parser?

查看:154
本文介绍了Java电子邮件解析器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

任何人都熟悉Java库,有助于解析以下电子邮件的字段(日期,主题,从,到)?

  Message-ID:< 19815303.1075861029555.JavaMail.ss@kk> 
日期:Wed,6 Mar 2010 12:32:20 -0800(PST)
来自:someone@someotherplace.com
收件人:someone@someplace.com
主题:some主题
Mime版本:1.0
内容类型:text / plain; charset = us-ascii
内容转移编码:7bit
X-From:一个,一些 X-To:一个
X-cc:
X-bcc:
X文件夹:Bob \Inbox
X-Origin:Bob-R
X-FileName:rbob(非特权).pst


某些消息


解决方案

JavaMail 是一个oracle库,它可以在javax.mail包中提供邮件服务和邮件相关服务(如解析传统和MIME消息)。此外,Apache还有一个 Commons Email 邮件处理库。



在JavaMail api中,一种解析包含电子邮件(可能或可能不显式为MIME)的字符串的简单方法将如下

  String content = ... 
会话s = Session.getDefaultInstance(new Properties());
InputStream is = new ByteArrayInputStream(content.getBytes());
MimeMessage message = new MimeMessage(s,is);

并解析标题可以像这样完成

  message.getAllHeaderLines(); 
for(枚举< Header> e = message.getAllHeaders(); e.hasMoreElements();){
标题h = e.nextElement();
h.getName();
h.getValue();
}


Is anyone familiar with a Java library that helps with parsing the fields (date, subject, from, to) of the email below?

Message-ID: <19815303.1075861029555.JavaMail.ss@kk>
Date: Wed, 6 Mar 2010 12:32:20 -0800 (PST)
From: someone@someotherplace.com
To: someone@someplace.com
Subject: some subject
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-From: one, some <some.one@someotherplace.com>
X-To: one
X-cc: 
X-bcc: 
X-Folder: Bob\Inbox
X-Origin: Bob-R
X-FileName: rbob (Non-Privileged).pst


some message

解决方案

JavaMail is an oracle library that provides mail services and mail related services (like parsing conventional & MIME messages) in the javax.mail package. Additionally Apache has a Commons Email library for mail handling.

In the JavaMail api, a simple way to parse a string containing an email message (which may or may not be explicitly MIME) would be as follows

String content = ...
Session s = Session.getDefaultInstance(new Properties());
InputStream is = new ByteArrayInputStream(content.getBytes());
MimeMessage message = new MimeMessage(s, is);

and parsing the headers could be done like this

message.getAllHeaderLines();
for (Enumeration<Header> e = message.getAllHeaders(); e.hasMoreElements();) {
    Header h = e.nextElement();
    h.getName();
    h.getValue();
}

这篇关于Java电子邮件解析器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆