If you want to embed your images in an email sent using ASP.Net server instead than using URLs you can use an AlternateView and use the mime standard to embed them:
using System.Net.Mail; protected void SendBTN_Click( object sender, EventArgs e) { // Send email using ASP.Net: System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(); message.From = new System.Net.Mail.MailAddress(Email_From); message.To.Add(Email_To); message.Bcc.Add(Email_BCC); message.Subject = Email_Subject; message.IsBodyHtml = true ; message.AlternateViews.Add(getS4HRegisteredUsersWithoutAnOrderBody_ForEmail(Customer.Name)); SmtpClient smtp = new SmtpClient( "subdom.myserver.com" ); smtp.Send(message); // Show some "Email Sent" msg and all that stuff or return ok. } private AlternateView getS4HRegisteredUsersWithoutAnOrderBody_ForEmail(String CustName) { StringBuilder body = new StringBuilder(); body = SkyGuard.MIS.Email.getTemplate( "S4HRegisteredUserWithoutOrder.htm" ); body.Replace( "[SUBJECT]" , Email_Subject); body.Replace( "[CUSTNAME]" , CustName); //These keys are set into the image src attribute body.Replace( "[LOGO_IMGSRC]" , "cid:logo" ); //Notice that we are adding a cid:id as the image source body.Replace( "[SUPPORT_PHOTO_IMGSRC]" , "cid:avatar" ); body.Replace( "[SIGNATURE_IMGSRC]" , "cid:signature" ); AlternateView view = AlternateView.CreateAlternateViewFromString(body.ToString(), null , System.Net.Mime.MediaTypeNames.Text.Html); //Company Logo LinkedResource logo = new LinkedResource(System.Web.HttpContext.Current.Server.MapPath( "~/imgs/Emails/Company_logo.png" ), System.Net.Mime.MediaTypeNames.Image.Jpeg); logo.ContentId = "logo" ; LinkedResource avatar = new LinkedResource(System.Web.HttpContext.Current.Server.MapPath( "~/imgs/Emails/Support_Avatar.png" ), System.Net.Mime.MediaTypeNames.Image.Jpeg); avatar.ContentId = "avatar" ; LinkedResource signature = new LinkedResource(System.Web.HttpContext.Current.Server.MapPath( "~/imgs/Emails/Support_Signature.png" ), System.Net.Mime.MediaTypeNames.Image.Jpeg); signature.ContentId = "signature" ; view.LinkedResources.Add(logo); view.LinkedResources.Add(avatar); view.LinkedResources.Add(signature); return view; } |
Excellent website, thanks for share this article with us