您的位置:首页 > 编程语言 > C#

C# MailMessage發送郵件 內文嵌套圖片

2017-04-21 11:34 375 查看
方法1 採用附件的方式 弊端部分客戶端會將此解析成附件 如雷鳥Thunderbird

Attachment at = new Attachment(Pic);

at.TransferEncoding = System.Net.Mime.TransferEncoding.Base64;

at.ContentDisposition.Inline = true;

at.ContentDisposition.DispositionType = System.Net.Mime.DispositionTypeNames.Inline;

HtmlStr = HtmlStr.Replace(Pic, "cid:" + at.ContentId);//關鍵設置
Mail.Attachments.Add(at); 

方法2  弊端 outlook顯示不了

html文本中src='Data:base64/...'採用Base64的編碼,瀏覽器可以直接識別

方法3:163新浪顯示圖片,同時也作為附件了 

AlternateView htmlBody = AlternateView.CreateAlternateViewFromString(@HtmlStr, null, "text/html");

foreach (Attachment at  in MailAttachs)

{

LinkedResource lrImage = new LinkedResource(at.ContentStream, "image/" + at.Name.Substring(at.Name.LastIndexOf('.')+1));
lrImage.ContentId = at.ContentId;

htmlBody.LinkedResources.Add(lrImage);                  

}

Mail.AlternateViews.Add(htmlBody);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: