Click here to Skip to main content
15,890,123 members
Articles / Programming Languages / C#

How to Send Email Messages with Embedded Images

Rate me:
Please Sign up or sign in to vote.
5.00/5 (1 vote)
2 May 2013MIT 12.9K   7   1
How to send email messages with embedded images.

While creating email messages with HTML content, normally the images are displayed with IMG tag, where the SRC attribute is pointing to an image, which is hosted in the web server. Most email clients will not display the images, which is downloading from the web. Instead of pointing to web URL, you can embed image in the mail message with the help of LinkedResource and AlternateView classes.

Here is the snippet, which embeds an image to the email. The convention to access linked resource is cid:name of the linked resource, which is the value of IMG tag SRC attribute.

C#
var logo = new LinkedResource(@"C:\logo.jpg");
logo.ContentId = Guid.NewGuid().ToString();
var body = 
    string.Format(@"<html><body><h1>Image</h1>
    <img src=""cid:{0}"" /></body></html>", 
    logo.ContentId);
var view = AlternateView.CreateAlternateViewFromString(body, null, "text/html");
view.LinkedResources.Add(logo);
using (var message = new MailMessage(fromAddress, toAddress)
{
    Subject = subject,
    Body = body,
    IsBodyHtml = true
})
{
    message.AlternateViews.Add(view);
    smtp.Send(message);
}

Note: This method will increase the size of the email, as the images are embedded.

Related Content

  1. Fluent email library for C# using DynamicObject
  2. Uploading Files using Webservice
  3. Post data using HttpWebRequest in C#
  4. How to Store and Retrieve files from SQL Server Database
  5. Convert Image to Icon using C#

License

This article, along with any associated source code and files, is licensed under The MIT License


Written By
Technical Lead
India India
Working as Tech. Lead

My blog : dotnetthoughts.net.
You can follow me in twitter : @anuraj

Comments and Discussions

 
Questionhi Pin
Member 1007103623-Jul-13 10:17
Member 1007103623-Jul-13 10:17 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.