方法1 採用附件的方式 弊端部分客戶端會將此解析成附件 如雷鳥Thunderbird
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)
{
lrImage.ContentId = at.ContentId;
htmlBody.LinkedResources.Add(lrImage);
}
Mail.AlternateViews.Add(htmlBody);