.net中 发送邮件内容嵌入图片的具体实例

前端技术 2023/09/06 .NET

例程一


邮件内容调用图片格式为:<img src=\\\"cid:Email001\\\">

发送邮件的服务端代码为:

SmtpClient 发送邮件的对象 //代码省略

复制代码 代码如下:

System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage();
mailMessage.From=\"发送者邮箱\";
mailMessage.To.Add(\"收件人邮件列表\");
mailMessage.CC.Add(\"抄送人邮件列表\");
mailMessage.Subject = subject;
AlternateView htmlBody = AlternateView.CreateAlternateViewFromString(content,null,\"text/html\");
LinkedResource lrImage = new LinkedResource(\"a.jpg\",\"image/gif\");
lrImage.ContentId = \"Email001\";
htmlBody.LinkedResources.Add(lrImage);
mailMessage.AlternateViews.Add(htmlBody);
SmtpClient.Send(mailMessage);

例程二

复制代码 代码如下:

SmtpClient smtp = new SmtpClient();
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Host = \"smtp.163.com\";
smtp.Credentials = new NetworkCredential(\"renzhijie1111\", \"**\");

MailMessage mm = new MailMessage();
mm.From = new MailAddress(\"renzhijie1111@163.com\", \"无敌任志杰测试\");
mm.To.Add(\"renzhijie1990@vip.qq.com\");

mm.Subject = \"发送带图片邮件\";

string plainTextBody = \"如果你邮件客户端不支持HTML格式,或者你切换到“普通文本”视图,将看到此内容\";
mm.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(plainTextBody, null, \"text/plain\"));

////HTML格式邮件的内容
string htmlBodyContent = \"如果你的看到<b>这个</b>, 说明你是在以 <span style=\\\"color:red\\\">HTML</span> 格式查看邮件<br><br>\";
htmlBodyContent += \"<a href=\\\"http://www.phpstudy.net//%22%3EVA娱乐网</a> <img src=\\\"cid:weblogo\\\">\";   //注意此处嵌入的图片资源
AlternateView htmlBody = AlternateView.CreateAlternateViewFromString(htmlBodyContent, null, \"text/html\");


LinkedResource lrImage = new LinkedResource(@\"d:\\1.jpg\", \"image/gif\");
lrImage.ContentId = \"weblogo\"; //此处的ContentId 对应 htmlBodyContent 内容中的 cid: ,如果设置不正确,请不会显示图片
htmlBody.LinkedResources.Add(lrImage);

mm.AlternateViews.Add(htmlBody);

////要求回执的标志
mm.Headers.Add(\"Disposition-Notification-To\", \"renzhijie1111@163.com\");

////自定义邮件头
mm.Headers.Add(\"X-Website\", \"http://www.phpstudy.net/\");

////针对 LOTUS DOMINO SERVER,插入回执头
mm.Headers.Add(\"ReturnReceipt\", \"1\");

mm.Priority = MailPriority.Normal; //优先级
mm.ReplyTo = new MailAddress(\"renzhijie1111@163.com\", \"我自己\");

////如果发送失败,SMTP 服务器将发送 失败邮件告诉我
mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

////异步发送完成时的处理事件
smtp.SendCompleted += new SendCompletedEventHandler(smtp_SendCompleted);

////开始异步发送

smtp.SendAsync(mm, null);

本文地址:https://www.stayed.cn/item/15173

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。