Html Email with Embedded Image


Html Email with Embedded Image

In this small article I am explaining how to send an html email with embedded image.  The steps in this are following:

  1. Create the Html Body with <img> tag
  2. Create the Images
  3. Attach the Image resource using cid
  4. Send Email

The steps are explained below:

1. Create the Html Body

The following could be our html email body.

<h1>Test Body</h1><img src=\"cid:id1\"></img>

In the above code we can see the img tag.  We can have multiple image tag on the image will be placed in the particular location.

Another important point to note is the cid.  It represents the content id of the resource.  The resources added can be assigned a content id.

The html email code will be as shown below:

MailMessage message = new MailMessage(AdminEmail, RecipientEmail);

message.IsBodyHtml = true;

message.Subject = "Test Subject";

2. Create the Images

For the demo purpose, I have created one image which will be included in the html email.

html1.gif

3. Attach the Image resource using cid

Now that we need to add the image in the email using cid.  The following code do this.

AlternateView view = AlternateView.CreateAlternateViewFromString(Message, null, MediaTypeNames.Text.Html);
LinkedResource resource = new LinkedResource(ImagePath);
resource.ContentId = "id1";

From the above code we can see that the id1 is the content Id.  A new class named AlternateView is used to specify the image.  The resource is added to the email message using the following line of code:

message.AlternateViews.Add(view);

4. Send Email

Now we can use the Send() method to send the email.  The received email will be looking like the following:

html2.gif

Hope you enjoyed it. The associated code is attached with the article. You can replace the gmail credentials with your own and test it.

Up Next
    Ebook Download
    View all
    Learn
    View all