邮件功能,用ck_edit编辑器,上传图片,保存,再次查看时,图片也能读取出来,
但是点击发送,收件人却不能收到图片,图片位置显示一个空白,读取不出来,这个
要怎么做,只有把图片保存到数据库,图片才能读取出来么???????
插入的图片是绝对地址。使用:SRC="D:\1.jpg"。你要把这个图片文件先添加到附件里面去,在添加附件时会获得这个附件的GUID。然后再把IMG的SRC修改为
SRC="cid:xxxxxxxxx",这里的“xxxxxx”就是你附件的GUID。这样你发过去的时候,对方就能直接看到你插入的图片。
例如:
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(edtMailBody.Text);
//检查HTML中是否存在IMG标签,如果有,即表示有插入图片
HtmlAgilityPack.HtmlNodeCollection divs = doc.DocumentNode.SelectNodes("//img");
if(divs != null)
{
foreach (HtmlAgilityPack.HtmlNode img in divs)
{
string imgpath = img.Attributes["src"].Value; //获得图片地址
string ContentId = mailMessage.AddAttachment(imgpath, true, null); //将图片插入为附件
img.Attributes["src"].Value = "cid:" + ContentId; //将SRC替换为CID
}
}
图片地址对了没有,发送邮件给别人图片地址要变为绝对地址,协议和域名加上,不能使用相对地址。