使用java将电子邮件转换为原始格式 [英] Convert an email into its raw format using java

查看:184
本文介绍了使用java将电子邮件转换为原始格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试着直到现在创建一个类型为 MimeMessage 的对象使用JavaMail api,之后获取其原始表示,但没有成功。我唯一可以获得的是电子邮件的内容的原始表示,但标题,主题或收件人不包括在内。我有兴趣的任何建议,任何java库,可以帮助我创建一个电子邮件对象,之后获得它的原始表示。原始代表应该如下所示:

I tried until now to create an object of type MimeMessage using JavaMail api, and after that to obtain its raw representation, but with no success. The only thing that I could obtain is a raw representation of the content of the email, but the header, subject, or recipients were not included. I am interested in any suggestions, any java libraries, that could help me in creating an email object, and after that obtain its raw representation. The raw representation should look something like this:

received: from imta14.emeryville.ca.mail.myisp.net ([nn.nn.30.46])
by alnrmxc19.isp.net (alnrmxc19) with ESMTP
id <20080930215116a19007q9u6e>; Tue, 30 Sep 2008 21:51:16 +0000
X-Originating-IP: [nn.nn.30.46]
Received: from libertatea.go ([nn.nn.161.160])
by IMTA14.mail.isp.net with isp
id M9qy1a00V3TwUto0E9rELB; Tue, 30 Sep 2008 21:51:15 +0000
X-Authority-Analysis: v=1.0 c=1 a=DZlucjOqAY8A:10 a=mnGO974OAAAA:8
a=9MJFf195B83LjESASTQA:9 a=Lm7NQ261g8eJHgoaELoA:7
a=7Narey355jFQWZRww2lj1r9-lCkA:4 a=8COHQAuY8ZYA:10 a=zEVpGHA-kecA:10
a=37WNUvjkh6kA:10
Received: by libertatea.go id hm1nfa0di0sn for <xxx@myisp.net>; Sun,30 Sep 2018 09:36:35
+0300 (envelope-from <Hometown.Quotes_ary@mousemegadot.com>)
Message-ID: <79864795@mousemegadot.com>
Date: Sun, 30 Sep 2018 09:36:35 +0300
From: "Hometown Quotes" <Hometown.Quotes_ary@mousemegadot.com>
To: dummy@myisp.net
Subject: Find Affordable Auto Insurance Today
MIME-Version: 1.0
X-UID: 79864795.modhnrfo.jhhnk.1
Content-Type: multipart/alternative; boundary="0-1411506895-1200484069=:66653"
Content-Transfer-Encoding: 8bit
X-PMFLAGS: 570966272 9 1 PE71PYHD.CNM 
X-UC-Weight: [# ] 51
X-CC-Diagnostic: Test 'LazyHTML Tolerant' (51)

--0-1411506895-1200484069=:66653
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

--0-1411506895-1200484069=:66653
Content-transfer-encoding: 8bit
Content-Type: text/html; charset=iso-8859-1; DelSp="Yes"; format="flowed"


推荐答案

MimeMessag#writeTo 将消息作为RFC 822格式流输出。

What you are looking for is MimeMessag#writeTo which outputs the message as an RFC 822 format stream.

使用 writeTo MimeMessage 转换为字符串。

MimeMessage mimeMessage;

// mimeMessage get assigned

ByteArrayOutputStream output = new ByteArrayOutputStream();
mimeMessage.writeTo(output);
String rawEmail = output.toString();

这篇关于使用java将电子邮件转换为原始格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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