小弟正在写一个邮件管理软件,用MIME编码打包超文本邮件,邮件嵌入的资源 比如图片 无法正常显示 地址 直接显示ID了 没有转换。编码部分大致如下,希望各位大虾帮我看看 小弟万分感谢!
Received: from fcy (unknown [220.160.105.195])
by bjapp2 (Coremail) with SMTP id sJtmpq6Q30FMAGnD.1
for <[email protected]>; Sat, 08 Jan 2005 15:50:45 +0800 (CST)
X-Originating-IP: [220.160.105.195]
Date: Sat, 8 Jan 2005 15:56:19 +0800
From: [email protected]
To: [email protected]
Subject: 测试123567
Content-Type: multipart/related; type="multipart/alternative";
boundary="==001-----=="
X-Priority: 3 (Normal)
MIME-Version: 1.0
X-mailer: Direcall
Message-Id: <41DF90D5.4E3B3F.06937>
This is a multi-part message in MIME format.--==001-----==
Content-Type: multipart/alternative;
boundary="==002-----=="--==002-----==
Content-Type: text/plain;
charset="gb2312"
Content-Transfer-Encoding: quoted-printablejskajdljsakdjkjask--==002-----==
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Dgb2312" http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.3700.6699" name=3DGENERATOR></HEAD>
<BODY>
<DIV><IMG align=3Dbaseline alt=3D"" border=3D0 hspace=3D0
src=3D"cid:[email protected]"></DIV>
BODY></HTML>--==002-----==----==001-----==
Content-Type: image/jpeg;
name="sys_1.jpg"
Content-Transfer-Encoding: base64
Content_ID: <[email protected]>(图片内容编码 略)
--==001-----==--

解决方案 »

  1.   

    处理你的问题需要一个MIME解析器,你可以看看MIME编码的Specification自己写一个,主要是一些字符串操作的处理...
    你也可以参考一下
    http://www.codeproject.com/internet/mimecpp.asp
    这是一个很不错的MIME解析器
      

  2.   

    多谢楼上的回答
    上面的是我编码后的 用foxmail之类的浏览时嵌入的自带图片找不到地址, 地址还是原来的src = "cid:*****" 没有被foxmail解析出来 我怀疑是我的编码的问题 但我检查不出编码哪里有问题
      

  3.   

    看了你的编码,发现有一个地方写错了 Content_ID: 
    应该写成 Content-ID: ,是减号而不是下划线不知道是不是你发帖子时的笔误