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


方法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);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值