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.
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>";
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With