如何在ASP.NET中发送嵌入图片的邮件
using System.Net.Mail;
using System.Net.Mime;
MailMessage mail = new MailMessage();
//set the addresses
mail.From = new MailAddress("xx@xxx.com");
mail.To.Add("xx@xxx.com");
//set the content
mail.Subject = "Test";
//first we create the Plain Text part
AlternateView plainView = AlternateView.CreateAlternateViewFromString("This is my text , viewable by those clients that don't support html", null, "text/plain");
string htmlView1 = "This is my text , viewable by those clients that don't support html";
//then we create the Html part
//to embed images, we need to use the prefix 'cid' in the img src value
//the cid value will map to the Content-Id of a Linked resource.
//thus <img src='cid:logo'> will map to a LinkedResource with a ContentId of 'companylogo'
AlternateView htmlView = AlternateView.CreateAlternateViewFromString(htmlView1 + "<a href = "" ><img src="cid:logo" /></a>", null, System.Net.Mime.MediaTypeNames.Text.Html);
//create the LinkedResource (embedded image)
string path = Server.MapPath(@"Images/logo.jpg");
// LinkedResource logo = new LinkedResource(path);
LinkedResource logo = new LinkedResource(path, "image/jpeg");
logo.ContentId = "logo";
//add the LinkedResource to the appropriate view
htmlView.LinkedResources.Add(logo);
//add the views
mail.AlternateViews.Add(plainView);
mail.AlternateViews.Add(htmlView);
mail.IsBodyHtml = true;
//send the message
SmtpClient smtp = new SmtpClient();//"127.0.0.1"); //specify the mail server address
smtp.Send(mail);