首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析MIME邮件

解析MIME邮件
EN

Stack Overflow用户
提问于 2009-06-25 05:33:56
回答 2查看 2.8K关注 0票数 2

对于我的新项目,它有电子邮件模块。我需要在web.when上显示所有电子邮件信息,我正在打电话给服务器,我正在获取base64编码的mime数据。应用base64解码技术后,我将获得mime数据,如下所示:

/*********************Mime数据开始*/

代码语言:javascript
复制
From prashant.n@geodesic.com Tue Jun 23 12:01:02 2009
Date: Tue, 23 Jun 2009 12:01:02 +0530
From: Prashant R Naik <prashant.n@geodesic.com>
To: koushik.narayanan@geodesic.com
Subject: This is a test mail
Message-ID: <20090623063102.GA27080@picopeta.com>
Reply-To: Prashant R Naik <prashant.n@geodesic.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="ReaqsoxgOBHFXBhH"
Content-Disposition: inline
User-Agent: Mutt/1.5.18 (2008-05-17)
Status: RO
Content-Length: 1912
Lines: 52


--ReaqsoxgOBHFXBhH
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Test mail.
Initiated by prashant

Regards,
-- 
Prashant R Naik
Principal Technologist | Symbian & Web2.0
Geodesic Limited | www.geodesic.com
Tel: +91-80-66551000

--ReaqsoxgOBHFXBhH
Content-Type: image/gif
Content-Disposition: attachment; filename="trash.gif"
Content-Transfer-Encoding: base64

R0lGODlhEAAQANUoADJ8wTqU2DmR1TqV2DN9wTSBxTWFyTaGyTJ9wTWGyTaKzjmS1TOAxTuV
2DaFyTN8wDiN0jiO0jSAxTeKzjqS1DN8wTqR1TWFyjB4vTOBxTmO0TmS1DaKzTeJzTqV1zSA
xDJ8wDqS1TeKzTF4vDF4vTiO0f///zuX2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACgALAAA
AAAQABAAAAaDQNRpSCwWhcakcsk8mZ5Qpik5pUKvT2W1uDVWp+BiYNAImAZmz/lcDoQEFoFp
QTFtTPKFQLCAREolJiURJhCCJhqAJRMiIhwmjSYdJgqUjQoODgkJJgecBp0mBgYXBx8ZBQxY
UAUSDAUACLEPDwgEAAAEIBUEtygkIyMkwMMYw8EjKEEAOw==

--ReaqsoxgOBHFXBhH
Content-Type: image/jpeg
Content-Disposition: attachment; filename="bx.jpg"
Content-Transfer-Encoding: base64

/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAAR
CAAUAAoDAREAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAn/xAAYEAEAAwEAAAAAAAAA
AAAAAAAAGWen5//EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA
/9oADAMBAAIRAxEAPwCb4AJHym0Vp3PQJTaK07noJHgA/9k=

--ReaqsoxgOBHFXBhH
Content-Type: image/png
Content-Disposition: attachment; filename="day_bg.png"
Content-Transfer-Encoding: base64

iVBORw0KGgoAAAANSUhEUgAAAGQAAAApCAYAAADDJIzmAAAABmJLR0QA/wD/AP+gvaeTAAAA
CXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2AwCCS0kTriU2QAAAB10RVh0Q29tbWVudABD
cmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAAXElEQVR42u3bQQEAMAgDMZiqiZtP5AwbfeQk
NO/WvPtLMR0TABEQIAICRECACAgQAREQIAICRECACAgQAREQIAICRECACAgQAREQIAICRECA
CAgQARGQ7NpPPasFT+0FZPjBRwYAAAAASUVORK5CYII=

--ReaqsoxgOBHFXBhH--

/*********************Mime数据结束*

现在的问题是,我必须解析这个数据,并在我的application.since中使用它,这个数据不是xml,所以很难解析它(因为解析一些标签很容易),任何知道如何解析mime数据的人都可以帮助我。我使用.so来解析这个数据。

提前谢谢你

EN

回答 2

Stack Overflow用户

发布于 2009-06-25 09:12:28

gen_smtperlang_smtp包含用于解析mime消息的代码。

票数 4
EN

Stack Overflow用户

发布于 2009-06-27 00:52:47

啊,对不起...好的。然后本着古鲁姆和谜语游戏的精神,我只能提供“要么偏航要么什么都没有”,这是不公平的,因为这实际上是两个猜测中的一个。

http://yaws.hyber.org/yapp_intro.yaws

然而,使用自己的mime解析器并不是很难。获取“边界”并将消息拆分到与"--“匹配的行上。然后,对于每个块,解析标题,直到您得到CRLF,CRLF。然后你的内容开始。

我知道说“使用不同的语言”的回答通常是没有帮助的。我猜你没有选择Erlang作为“使这项工作更容易的语言”,所以我猜这是一个外部约束。您是否愿意分享Erlang是您首选的解决方案语言的原因?:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1042330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档