Click here to Skip to main content
11,630,646 members (78,559 online)
Click here to Skip to main content

Sending Email Using Embedded Images

, 25 Mar 2009 CPOL 75.4K 46
Rate this:
Please Sign up or sign in to vote.
How to send embedded images in email using .NET 2.0.

Introduction

Sending and receiving emails is a daily task for almost every professional, and programmers are not different. Sending emails and attachment is considered a trivial task, and all programming platforms support this feature.

Background

You can send an email with images as external links, but most email clients block external links. There is another way around to send images as part of an email.

Using the code

The following code is self explanatory. Here, we go:

  1. Create a string that contains the HTML message to send.
  2. Create an AlternateView object for supporting the HTML.
  3. Create a LinkedResource object for the image to send.
  4. Add a LinkedResource object to the AlternateView object.
  5. Create a Mailmesasge object and set its To, From, and Subject properties.
  6. Add an AlternateView object to the MailMessage object.
  7. Create an SmtpClient object and send the MailMessage object.
using System.Net.Mail;

string htmlBody = "<html><body><h1>Picture</h1><br><img src=\"cid:Pic1\"></body></html>";
AlternateView avHtml = AlternateView.CreateAlternateViewFromString
    (htmlBody, null, MediaTypeNames.Text.Html);

// Create a LinkedResource object for each embedded image
LinkedResource pic1 = new LinkedResource("pic.jpg", MediaTypeNames.Image.Jpeg);
pic1.ContentId = "Pic1";
avHtml.LinkedResources.Add(pic1);


// Add the alternate views instead of using MailMessage.Body
MailMessage m = new MailMessage();
m.AlternateViews.Add(avHtml);

// Address and send the message
m.From = new MailAddress("rizwan@dotnetplayer.com", "Rizwan Qureshi");
m.To.Add(new MailAddress("shayan@dotnetplayer.com", "Shayan Qureshi"));
m.Subject = "A picture using alternate views";
SmtpClient client = new SmtpClient("smtp.dotnetplayer.com");
client.Send(m);

Points of interest

Since embedded images are part of emails, they can considerably increase the size of emails and can cause an email client to treat them as spam.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Rizwan Qureshi
Chief Technology Officer Neuron Management Services
Pakistan Pakistan
I am a man with distinguish academic and professional career. i love programming and it is next to breathing to me. I did my post graduation in Computer Science and specialized in the field of Artificial Intelligence. these days i am busy in developing a developer friendly site. I am open to any suggestion and would definitely seek help in this regard.

Here are few Smile | :) certifications i earned:

MCPD Enterprise Application Development Framework 2.0
MCTS: Framwork Fundamentals 2.0
MCTS: Web Client Development 2.0
MCTS: Window Client Development 2.0
MCTS: Distributed Client Development 2.0

MCITP:Microsoft® SQL Server™ 2005 - Implementation and Maintenance

MCTS:Microsoft Windows SharePoint Services 3.0 - Application Development
MCTS:Developing Business Process and Integration Solutions using Microsoft® BizTalk® Server 2006
MCTS:Microsoft SQL Server 2005 Business Intelligence–Implementation and Maintenance


I wish my son would earn more certification when we celebrate his sixth birthday... Smile | :)

you can reach me at rizwanqureshi@yahoo.com

You may also be interested in...

Comments and Discussions

 
QuestionThe results not sufficient Pin
danies818-Jul-13 0:16
memberdanies818-Jul-13 0:16 
QuestionVery Useful Pin
Andy McNiece6-Jun-12 5:28
memberAndy McNiece6-Jun-12 5:28 
Questionnot work for thunderbird Pin
cyman_y8-Feb-12 22:14
membercyman_y8-Feb-12 22:14 
GeneralMy vote of 5 Pin
smnabil14-Jul-10 21:54
membersmnabil14-Jul-10 21:54 
GeneralMy vote of 3 Pin
Simon_Whale7-Jul-10 1:02
memberSimon_Whale7-Jul-10 1:02 
GeneralIt works for attaching picture but not embedded them Pin
Hassaan Ahmed21-Nov-09 3:49
memberHassaan Ahmed21-Nov-09 3:49 
GeneralNice. You may have a look at... Pin
Norbert Bietsch25-Mar-09 9:20
memberNorbert Bietsch25-Mar-09 9:20 

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

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

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.150723.1 | Last Updated 25 Mar 2009
Article Copyright 2009 by Rizwan Qureshi
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid