当前位置: 首页 > 面试题库 >

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

糜博远
2023-03-14
问题内容

到目前为止,我一直尝试MimeMessage使用JavaMail api 创建类型的对象,然后获取其原始表示,但没有成功。我唯一可以获得的是电子邮件
内容
的原始表示形式,但是不包括标题,主题或收件人。我对可以帮助我创建电子邮件对象并获得其原始表示形式的任何建议,任何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"

问题答案:

您正在寻找的是MimeMessag#writeTo,它将消息作为RFC
822格式流输出。

writeTo将转换MimeMessage字符串的示例。

MimeMessage mimeMessage;

// mimeMessage get assigned

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


 类似资料:
  • 我有一个gmail帐户链接到我的域名帐户。 AWS SES将向我的S3存储桶发送消息。从那里,SNS将把原始格式的信息转发到我的gmail地址。 如何将原始邮件自动转换为标准电子邮件格式?

  • 我有Microsoft Exchange: 有办法做到这一点吗?要通读原始电子邮件信息,查看回复者是谁并转发到该电子邮件地址? 如果我们不能将其作为宏来完成,那么我们是否可以将发送到:mail@domain.com的所有邮件转发到脚本中,并让脚本处理解析呢?

  • 问题内容: 有哪些工具可将OpenOffice或Excel电子表格(及其所有公式)转换为可在运行时调用的Java对象? 显然,这只会构成一个计算引擎,而只是数字和文本,而不是计时或API调用。 即使使用命名的单元格范围来(有效)命名变量,输出代码也可能难以理解。需要进行重构以使其更像普通的Java代码。但是,我认为这对原型某些数据处理类型的作业非常有用。或用于嵌入一些由高级Excel用户维护的计算

  • 问题内容: 我使用TinyMCE允许在我的网站中使用最少的文本格式。从生成的HTML中,我想将其转换为纯文本格式以发送电子邮件。我一直在使用一个名为html2text的类,但除其他外,它确实缺少UTF-8支持。但是,我确实这样做,它将某些HTML标记映射为纯文本格式- 就像在HTML之前带有标记的文本周围加下划线。 是否有人使用类似的方法将HTML转换为PHP中的纯文本?如果是这样:您是否推荐我可

  • 我正在尝试使用Java使用IMAP阅读电子邮件和SMTP回复它们来编写Gmail自动回复程序。我使用imap阅读电子邮件,当回复发送电子邮件的人时,我使用SMTP。我希望我发送的电子邮件具有回复格式,与您在gmail中单击回复时获得的格式相同,其中包括日期和发件人最初发送的消息。Javamail中有没有一种方法可以做到这一点?如果没有,最好的方法是什么? 问候!

  • 我能够通过IMAP连接到Gmail并进行解析,但是在电子邮件正文中,我获得了Gmail特定的内容,例如