使用java将电子邮件转换为原始格式

使用java将电子邮件转换为原始格式,java,email,Java,Email,到目前为止,我一直试图使用JavaMail api创建一个类型为MimeMessage的对象,然后获取它的原始表示,但没有成功。我唯一能得到的是电子邮件内容的原始表示,但不包括标题、主题或收件人。我对任何可以帮助我创建电子邮件对象的建议和java库感兴趣,并在这之后获得它的原始表示。原始表示应该如下所示: received: from imta14.emeryville.ca.mail.myisp.net ([nn.nn.30.46]) by alnrmxc19.isp.net (alnrmxc

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

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"
收到:来自imta14.emeryville.ca.mail.myisp.net([nn.nn.30.46])
通过alnrmxc19.isp.net(alnrmxc19)和ESMTP
身份证件2008年9月30日星期二21:51:16+0000
X-IP:[nn.nn.30.46]
收到:来自libertatea.go([nn.nn.161.160])
通过IMTA14.mail.isp.net与isp
id M9qy1a00V3TwUto0E9rELB;2008年9月30日星期二21:51:15+0000
X-权威分析:v=1.0C=1A=DZlucjOqAY8A:10A=mnGO974OAAAA:8
a=9MJFF195B83LJEASTQA:9A=LM7NQ261G8EJGHGOAELOA:7
a=7NAREY355JFQWZRW2LJ1R9 lCkA:4A=8COHQAuY8ZYA:10A=zEVpGHA kecA:10
a=37WNUvjkh6kA:10
接收:由libertatea.go id hm1nfa0di0sn接收;2018年9月30日星期日09:36:35
+0300(信封来自)
消息ID:
日期:2018年9月30日星期日09:36:35+0300
来自:“家乡语录”
致:dummy@myisp.net
主题:今天就找到负担得起的汽车保险
MIME版本:1.0
X-UID:79864795.modhnrfo.jhnk.1
内容类型:多部分/备选;边界=“0-1411506895-1200484069=:66653”
内容传输编码:8比特
X-PMFLAGS:570966272 9 1 PE71PYHD.CNM
X-UC-Weight:[#]51
X-CC-Diagnostic:测试“懒散”(51)
--0-1411506895-1200484069=:66653
内容类型:文本/纯文本;字符集=iso-8859-1
内容传输编码:8比特
--0-1411506895-1200484069=:66653
内容传输编码:8比特
内容类型:text/html;字符集=iso-8859-1;DelSp=“是”;format=“flowed”

您要查找的是将消息作为RFC 822格式流输出的消息

使用
writeTo
MimeMessage
转换为字符串的示例

MimeMessage mimeMessage;

// mimeMessage get assigned

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

到目前为止你试过什么?发布您的代码并围绕您遇到的具体问题提问。如果您需要为您编写它,那么编码器会以一定的价格来完成。好的,所以我尝试了Message.getInputStream()方法,它是JavaMail api中唯一返回原始内容的方法,但它只返回消息的内容,不返回头、主题,等等。我需要以原始格式获取消息类型对象的所有内容。先生,您刚刚完成了我的任务。非常感谢你的努力。这是正确的解决方案。再次感谢。只是输入错误:“输出”改为“输出”(输出-无此类属性)