你好我正在研究.NET 1.1中的一个项目,我需要从我收到的电子邮件中提取(并保存在某处)嵌入的图像。
有人能给我一个从哪里开始的线索吗?
谢谢
答案 0 :(得分:2)
从POP服务器下载的电子邮件将采用文本格式,您必须解析整个电子邮件,并找到<img />
属性设置为src
的所有cid:*
代码
E.g。
<img src='cid:006901c6d391$dee64770$6c822ecf@Z2LC74Q' />
包含嵌入图像的电子邮件格式如下 -
From: foo1atbar.net
To: foo2atbar.net
Subject: A simple example
Mime-Version: 1.0
Content-Type: multipart/related; boundary="boundary-example"; type="text/html"
--boundary-example
Content-Type: text/html; charset="US-ASCII"
... text of the HTML document, which might contain a URI
referencing a resource in another body part, for example
through a statement such as:
<IMG SRC="cid:foo4atfoo1atbar.net" ALT="IETF logo">
...snip...
Content-Location: CID:somethingatelse ;this header is disregarded
Content-ID: <006901c6d391$dee64770$6c822ecf@Z2LC74Q>
Content-Type: IMAGE/GIF
Content-Transfer-Encoding: BASE64
R0lGODlhGAGgAPEAAP/////ZRaCgoAAAACH+PUNv
cHlyaWdodCAoQykgMTk5LiBVbmF1dGhvcml6ZWQgZHV
wbGljYXRpb24gcHJvaGliaXRlZC4A etc...
...snip...
如果查看页脚,它包含图像的BASE64编码版本。您可以提取BASE64字符串,根据电子邮件字符集将其转换为字节,并将其保存到文件中(您可以根据Content-Type获取文件扩展名)。田田,完成了!
希望你知道如何做到这一点!
我也发现了类似的问题here。他正在使用CDO(协作数据对象)。