<P>222</P>
<P><IMG border=0 hspace=0 alt="" align=baseline src="D:\a.jpg"></P>
然后把a.jpg的数据读取出来发送出去,登陆网页邮箱,有数据但是图片显示一把X,请教是哪里出问题了。如果把图片作为附件发送就能正常显示。
21 个解决方案
#1
D:\a.jpg在你的本地
#2
是在本地,要怎样解决?
#3
在线等,疼死了。。
图片应该怎样发送,求指点,写邮件时HTML文本里有本地图片的链接,发送是要不要把这部分内容发送过呢?要过滤掉么还是获取到ewbbrowse控件的HTML内容直接全部发送过去?
图片应该怎样发送,求指点,写邮件时HTML文本里有本地图片的链接,发送是要不要把这部分内容发送过呢?要过滤掉么还是获取到ewbbrowse控件的HTML内容直接全部发送过去?
#4
收取邮件显示图片时,我用的方法是读取图片文件名,读取图片文件数据然后写入本地文件,再改HTML文本内容,修改图片链接地址,虽然比较笨得方法,但勉强能实现,可是发送图片就不知道如何处理了
#5
base64
#6
标准的smtp不支持非文本,你看看MIME协议RFC 2045-2049
#7
图片数据有base64处理,文件名没有,文件名不处理应该没问题
#8
不支持非文本为什么可以发送附件
#9
你还是贴代码吧。代码是最好的交流方式。
#10
下面段是整个邮件的代码
+OK
Return-Path: <...com>
Delivered-To:...com
Received: from workec.com ([183.39.139.131])
by mail.workec.com WITH SMTP
ID S272D8CC69F; Mon, 29 Aug 2011 12:48:43 +0800
Date: Mon, 29 Aug 2011 12:47:45
From: ....com
To: <....com>
Subject: 00
Content-Type: multipart/related; boundary="__MESSAGE__ID__54yg6f6h6y456345"
--__MESSAGE__ID__54yg6f6h6y456345
Content-type:text/html;Charset=gb2312
Content-Transfer-Encoding:8bit
<IMG border=0 hspace=0 alt="" align=baseline src="D:\a1_-_副本.jpg">
--__MESSAGE__ID__54yg6f6h6y456345
Content-Type: image/jpeg;name="a1_-_副本.jpg"
Content-Transfer-Encoding: base64
/9j/4AAQSkZJRgABAQEAYABgAAD.....下面都是图片数据
--__MESSAGE__ID__54yg6f6h6y456345--
#11
传数据的代码
邮件体只插入了一幅图片,对应的代码是
<IMG border=0 hspace=0 alt="" align=baseline src="D:\a1_-_副本.jpg">
// 发送文件
char *SendBuf = new char[BUFFER_READ + 1];
char *FileName = new char[1024];
char *szCode = new char[2*BUFFER_READ];
CStringA sTemp;
sTemp="--";
sTemp+="__MESSAGE__ID__54yg6f6h6y456345";
sTemp+="\r\n";
sTemp+="Content-Type: image/jpeg;name=\"a1_-_副本.jpg\"\r\n";
sTemp+="Content-Transfer-Encoding: base64\r\n\r\n";
m_wsSMTPServer.Send( sTemp, sTemp.GetLength() );
FILE *Fin = fopen("D:\\a1_-_副本.jpg","rb");
memset(SendBuf,0,BUFFER_READ + 1);
int ReadSize = 0;
int nEncode = 0;
CBase64 base;
while (!feof(Fin) )
{
ReadSize = fread(SendBuf,sizeof(char),BUFFER_READ,Fin);
strcpy(szCode,base64_encode(reinterpret_cast<const unsigned char*>(SendBuf),ReadSize).c_str() );
m_wsSMTPServer.Send( szCode, strlen(szCode) );
memset(SendBuf,0,BUFFER_READ + 1);
memset(szCode,0,2*BUFFER_READ);
sTemp.Format("%s","\r\n\r\n");
m_wsSMTPServer.Send( sTemp, sTemp.GetLength() );
}
sTemp.Format("%s","\r\n\r\n");
m_wsSMTPServer.Send( sTemp, sTemp.GetLength() );
fclose(Fin);
邮件体只插入了一幅图片,对应的代码是
<IMG border=0 hspace=0 alt="" align=baseline src="D:\a1_-_副本.jpg">
#12
用其他邮箱试了下,比如说163发给QQ的。它们图片链接都经过了处理,类似
<IMG src= "cid:271A8650@8B6D016B.FB45F845 " >
<IMG src="cid:babd777$1$13213a4e0c8$Coremail$dahaii0@163.com">这些,请教下如何把
<IMG border=0 hspace=0 alt="" align=baseline src="D:\a1_-_副本.jpg">转换成上述类容,base64么?貌似不是把
<IMG src= "cid:271A8650@8B6D016B.FB45F845 " >
<IMG src="cid:babd777$1$13213a4e0c8$Coremail$dahaii0@163.com">这些,请教下如何把
<IMG border=0 hspace=0 alt="" align=baseline src="D:\a1_-_副本.jpg">转换成上述类容,base64么?貌似不是把
#13
首先:
Content-Type: image/jpeg;name="a1_-_副本.jpg"<---------是D:\a1_-_副本.jpg
Content-Type: image/jpeg;name="a1_-_副本.jpg"<---------是D:\a1_-_副本.jpg
#14
Content-Transfer-Encoding:8bit<--------------7bit
#15
这个是写错了,尝试了很多种方法。14楼的我先试下,感谢回答
#16
改了还是显示一把叉,总感觉链接的地址不对,如果直接用本地地址不加处理,那链接地址对接收方来收不没有任何意义么
#17
跪求。。。
#18
<IMG border=0 hspace=0 alt="" align=baseline src="cid:__abc@dd.com">
--__MESSAGE__ID__54yg6f6h6y456345
Content-Type: image/jpeg;
name="Catch1.jpg"
Content-Transfer-Encoding: base64
Content-ID: <__abc@dd.com>
--__MESSAGE__ID__54yg6f6h6y456345
Content-Type: image/jpeg;
name="Catch1.jpg"
Content-Transfer-Encoding: base64
Content-ID: <__abc@dd.com>
#19
还是不太对啊。。泪奔。。
#20
泪奔啊。。。求个好心人。。。
#21
18楼你是对的,可能今天下午试的时候某个细节错了,晚上折腾了下OK了。。爽
#1
D:\a.jpg在你的本地
#2
是在本地,要怎样解决?
#3
在线等,疼死了。。
图片应该怎样发送,求指点,写邮件时HTML文本里有本地图片的链接,发送是要不要把这部分内容发送过呢?要过滤掉么还是获取到ewbbrowse控件的HTML内容直接全部发送过去?
图片应该怎样发送,求指点,写邮件时HTML文本里有本地图片的链接,发送是要不要把这部分内容发送过呢?要过滤掉么还是获取到ewbbrowse控件的HTML内容直接全部发送过去?
#4
收取邮件显示图片时,我用的方法是读取图片文件名,读取图片文件数据然后写入本地文件,再改HTML文本内容,修改图片链接地址,虽然比较笨得方法,但勉强能实现,可是发送图片就不知道如何处理了
#5
base64
#6
标准的smtp不支持非文本,你看看MIME协议RFC 2045-2049
#7
图片数据有base64处理,文件名没有,文件名不处理应该没问题
#8
不支持非文本为什么可以发送附件
#9
你还是贴代码吧。代码是最好的交流方式。
#10
下面段是整个邮件的代码
+OK
Return-Path: <...com>
Delivered-To:...com
Received: from workec.com ([183.39.139.131])
by mail.workec.com WITH SMTP
ID S272D8CC69F; Mon, 29 Aug 2011 12:48:43 +0800
Date: Mon, 29 Aug 2011 12:47:45
From: ....com
To: <....com>
Subject: 00
Content-Type: multipart/related; boundary="__MESSAGE__ID__54yg6f6h6y456345"
--__MESSAGE__ID__54yg6f6h6y456345
Content-type:text/html;Charset=gb2312
Content-Transfer-Encoding:8bit
<IMG border=0 hspace=0 alt="" align=baseline src="D:\a1_-_副本.jpg">
--__MESSAGE__ID__54yg6f6h6y456345
Content-Type: image/jpeg;name="a1_-_副本.jpg"
Content-Transfer-Encoding: base64
/9j/4AAQSkZJRgABAQEAYABgAAD.....下面都是图片数据
--__MESSAGE__ID__54yg6f6h6y456345--
#11
传数据的代码
邮件体只插入了一幅图片,对应的代码是
<IMG border=0 hspace=0 alt="" align=baseline src="D:\a1_-_副本.jpg">
// 发送文件
char *SendBuf = new char[BUFFER_READ + 1];
char *FileName = new char[1024];
char *szCode = new char[2*BUFFER_READ];
CStringA sTemp;
sTemp="--";
sTemp+="__MESSAGE__ID__54yg6f6h6y456345";
sTemp+="\r\n";
sTemp+="Content-Type: image/jpeg;name=\"a1_-_副本.jpg\"\r\n";
sTemp+="Content-Transfer-Encoding: base64\r\n\r\n";
m_wsSMTPServer.Send( sTemp, sTemp.GetLength() );
FILE *Fin = fopen("D:\\a1_-_副本.jpg","rb");
memset(SendBuf,0,BUFFER_READ + 1);
int ReadSize = 0;
int nEncode = 0;
CBase64 base;
while (!feof(Fin) )
{
ReadSize = fread(SendBuf,sizeof(char),BUFFER_READ,Fin);
strcpy(szCode,base64_encode(reinterpret_cast<const unsigned char*>(SendBuf),ReadSize).c_str() );
m_wsSMTPServer.Send( szCode, strlen(szCode) );
memset(SendBuf,0,BUFFER_READ + 1);
memset(szCode,0,2*BUFFER_READ);
sTemp.Format("%s","\r\n\r\n");
m_wsSMTPServer.Send( sTemp, sTemp.GetLength() );
}
sTemp.Format("%s","\r\n\r\n");
m_wsSMTPServer.Send( sTemp, sTemp.GetLength() );
fclose(Fin);
邮件体只插入了一幅图片,对应的代码是
<IMG border=0 hspace=0 alt="" align=baseline src="D:\a1_-_副本.jpg">
#12
用其他邮箱试了下,比如说163发给QQ的。它们图片链接都经过了处理,类似
<IMG src= "cid:271A8650@8B6D016B.FB45F845 " >
<IMG src="cid:babd777$1$13213a4e0c8$Coremail$dahaii0@163.com">这些,请教下如何把
<IMG border=0 hspace=0 alt="" align=baseline src="D:\a1_-_副本.jpg">转换成上述类容,base64么?貌似不是把
<IMG src= "cid:271A8650@8B6D016B.FB45F845 " >
<IMG src="cid:babd777$1$13213a4e0c8$Coremail$dahaii0@163.com">这些,请教下如何把
<IMG border=0 hspace=0 alt="" align=baseline src="D:\a1_-_副本.jpg">转换成上述类容,base64么?貌似不是把
#13
首先:
Content-Type: image/jpeg;name="a1_-_副本.jpg"<---------是D:\a1_-_副本.jpg
Content-Type: image/jpeg;name="a1_-_副本.jpg"<---------是D:\a1_-_副本.jpg
#14
Content-Transfer-Encoding:8bit<--------------7bit
#15
这个是写错了,尝试了很多种方法。14楼的我先试下,感谢回答
#16
改了还是显示一把叉,总感觉链接的地址不对,如果直接用本地地址不加处理,那链接地址对接收方来收不没有任何意义么
#17
跪求。。。
#18
<IMG border=0 hspace=0 alt="" align=baseline src="cid:__abc@dd.com">
--__MESSAGE__ID__54yg6f6h6y456345
Content-Type: image/jpeg;
name="Catch1.jpg"
Content-Transfer-Encoding: base64
Content-ID: <__abc@dd.com>
--__MESSAGE__ID__54yg6f6h6y456345
Content-Type: image/jpeg;
name="Catch1.jpg"
Content-Transfer-Encoding: base64
Content-ID: <__abc@dd.com>
#19
还是不太对啊。。泪奔。。
#20
泪奔啊。。。求个好心人。。。
#21
18楼你是对的,可能今天下午试的时候某个细节错了,晚上折腾了下OK了。。爽