发送邮件嵌入图片

来源:互联网 发布:8051单片机图片 编辑:程序博客网 时间:2024/04/29 03:58

Introduction

Sending and receiving emails is a daily task for almost every professional, and programmers are not different. Sending emails and attachment is considered a trivial task, and all programming platforms support this feature.

Background

You can send an email with images as external links, but most email clients block external links. There is another way around to send images as part of an email.

Using the code

The following code is self explanatory. Here, we go:

  1. Create a string that contains the HTML message to send.
  2. Create an AlternateView object for supporting the HTML.
  3. Create a LinkedResource object for the image to send.
  4. Add a LinkedResource object to the AlternateView object.
  5. Create a Mailmesasge object and set its ToFrom, and Subject properties.
  6. Add an AlternateView object to the MailMessage object.
  7. Create an SmtpClient object and send the MailMessage object.
using System.Net.Mail;string htmlBody = "<html><body><h1>Picture</h1><br><img src=\"cid:Pic1\"></body></html>";AlternateView avHtml = AlternateView.CreateAlternateViewFromString    (htmlBody, null, MediaTypeNames.Text.Html);// Create a LinkedResource object for each embedded imageLinkedResource pic1 = new LinkedResource("pic.jpg", MediaTypeNames.Image.Jpeg);pic1.ContentId = "Pic1";avHtml.LinkedResources.Add(pic1);// Add the alternate views instead of using MailMessage.BodyMailMessage m = new MailMessage();m.AlternateViews.Add(avHtml);// Address and send the messagem.From = new MailAddress("rizwan@dotnetplayer.com", "Rizwan Qureshi");m.To.Add(new MailAddress("shayan@dotnetplayer.com", "Shayan Qureshi"));m.Subject = "A picture using alternate views";SmtpClient client = new SmtpClient("smtp.dotnetplayer.com");client.Send(m);
原创粉丝点击