C#发送邮件时在正文插入图片示例

//using System.Net;
//using System.Net.Mail;
//using System.Text;

//邮件
MailMessage mailMessage = new MailMessage()
{
    Priority = MailPriority.Normal,
    SubjectEncoding = Encoding.UTF8,
    BodyEncoding = Encoding.UTF8,
    IsBodyHtml = true
};
mailMessage.From = new MailAddress("111111@qq.com", "张三");//发件人
mailMessage.To.Add(new MailAddress("222222@qq.com", "李四"));//收件人
mailMessage.CC.Add(new MailAddress("333333@qq.com", "王五"));//抄送人
mailMessage.Subject = "邮件标题";//标题
//  正文及图片
LinkedResource lrImage1 = new LinkedResource(@"G:\01.jpg");//图片1
lrImage1.ContentId = "lrImage1";//对应img cid
LinkedResource lrImage2 = new LinkedResource(@"G:\02.png");//图片2
lrImage2.ContentId = "lrImage2";//对应img cid
AlternateView htmlBody = AlternateView.CreateAlternateViewFromString("<img src=\"cid:lrImage1\"><br/><img src=\"cid:lrImage2\">", Encoding.UTF8, "text/html");
htmlBody.LinkedResources.Add(lrImage1);
htmlBody.LinkedResources.Add(lrImage2);
mailMessage.AlternateViews.Add(htmlBody);//正文
//  附件
mailMessage.Attachments.Add(new Attachment(@"G:\test.rar"));

//邮件服务器
SmtpClient smtpClient = new SmtpClient()
{
    DeliveryMethod = SmtpDeliveryMethod.Network,                
    Host = "smtp服务器地址",
    Credentials = new NetworkCredential("用户名", "用户密码")
};      
smtpClient.Send(mailMessage);

说明:网易邮箱、QQ邮箱和阿里企业邮箱测试通过,搜狐邮箱测试图片不显示,使用前务必自行测试。

评论: 0 | 引用: 0 | 查看次数: 1803
发表评论
登录后再发表评论!