Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Email HTML document, embedding images using c#

Tags:

html

c#

I need to send an email as a string in HTML format that has images embedded in it. I tried converting my images into base64 but it does not work.

The email has 3 images as type System.Drawing.Image. I just need to get them in my HTML formatted string.

like image 897
Marcel-Is-Hier Avatar asked May 08 '13 13:05

Marcel-Is-Hier


1 Answers

The other way to embed images in E-mail when using System.Net.Mail is to attach image from local drive to email and assign a contentID to it and later use this contentID in the image URL.

That can be done like this:

msg.IsBodyHtml = true;
Attachment inlineLogo = new Attachment(@"C:\Desktop\Image.jpg");
msg.Attachments.Add(inlineLogo);
string contentID = "Image";
inlineLogo.ContentId = contentID;

//To make the image display as inline and not as attachment

inlineLogo.ContentDisposition.Inline = true;
inlineLogo.ContentDisposition.DispositionType = DispositionTypeNames.Inline;

//To embed image in email

msg.Body = "<htm><body> <img src=\"cid:" + contentID + "\"> </body></html>";
like image 81
Jagan Avatar answered Oct 04 '22 19:10

Jagan