Click here to Skip to main content
Licence CPOL
First Posted 6 Mar 2007
Views 89,580
Downloads 256
Bookmarked 40 times

Sending email with an embedded image through ASP.NET

By | 6 Mar 2007 | Article
An article to send email from ASP.NET 2.0 by embedding an image in the content

Introduction

This article will help beginners to get a basic idea of mailing with an embedded image or object from ASP.NET 2.0 using SMTP Client.

Background

I wrote this code when one of my colleagues came up with a similar requirement of sending email from an application which will have an embedded image signature (not as an attachment).

Using the code

The code is very simple and pretty straightforward. As a prerequisite, you should have access to a mail server. Now create a MailMessage object and specify the sender and recipient address. Message Text is created as an AlternateView and a LinkedResource is pointed to the image or object you want to embed. Once you are done with this, just add the LinkedResource to the AlternateView and finally add the AlternateView to the MailMessage object text.

Dim msg As New MailMessage("sender mail address", "recipient mail address")
msg.Subject = "This is my first email through program"
msg.IsBodyHtml = True

Dim View As AlternateView
Dim resource As LinkedResource
Dim client As SmtpClient
Dim msgText As New StringBuilder

msgText.Append("Hi there,")
msgText.Append("Welcome to the new world programming.")
msgText.Append("Thanks")
msgText.Append("With regards,")
msgText.Append("")

'create an alternate view for your mail
View = AlternateView.CreateAlternateViewFromString(msgText.ToString(),
                                                Nothing, "text/html")

'link the resource to embed
resource = New LinkedResource((Server.MapPath("Images\007jvr.gif")))

'name the resource
resource.ContentId = "Image1"

'add the resource to the alternate view
View.LinkedResources.Add(resource)

'add the view to the message
msg.AlternateViews.Add(View)

client = New SmtpClient()
client.Host = "smtp.gmail.com" 'specify your smtp server name/ip here
'client.EnableSsl = True 
'enable this if your smtp server needs SSL to communicate
client.Credentials = New Net.NetworkCredential("username", "pwd")
client.Send(msg) 

Please rate the article and don't hesitate to write to me in case you have any doubts or concerns.

Please do check out my other articles which may help you out.

License

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

About the Author

jebarson

Software Developer (Senior)
Microsoft Corporation
India India

Member

Follow on Twitter Follow on Twitter
I work for Microsoft on MS technologies for application development. My interests include .net, WCF, Azure, Windows Phone, ASP.net, SL, WCF, WPF and many more.
 
You can visit my site at http://www.jebarson.info
 
Follow me on twitter @jebarson007

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralEmbedding Multiple Images (based on an existing HTML "template" file) PinmemberBrian Rickard14:15 13 Apr '08  
AnswerRe: Embedding Multiple Images Pinmemberjebarson5:11 15 Apr '08  
GeneralRe: Embedding Multiple Images PinmemberBrian Rickard5:41 15 Apr '08  
When doing a google search for embedding images in an HTML email using vb.net, your article here was either at the top or close to it. This is a good example of creating an email with embedded images, but it wasn't precisely what I was looking for.
 
I needed to take an already existing HTML file and turn it into an email, images and all. I felt that if people were reviewing this article and learning about the ArticleView like I was, a logical next step would be the other article which includes regular expressions to find and replace the src values for the <img> and url() markup along with the additional code (that I was missing) to create a second AlternateView and transfer the resources over (because the body was modified after the original AlternateView was not created).
 
I was, like you, only hoping to add value here by getting people the resources they need to completely understand how to send an email with embedded images. I do not mean this other article to replace yours but to suppliment it. Perhaps the subject of the post was misleading, I will go back and edit it to make things clearer. If you still do not understand my reason for posting, or feel offended by it, reply to this message and I will come back and delete my post. </img>
GeneralI am getting the attachment as .Dat file PinmemberElavarasu1:54 13 Jun '07  
AnswerRe: I am getting the attachment as .Dat file Pinmemberjebarson23:10 15 Jun '07  
AnswerRe: I am getting the attachment as .Dat file PinmemberBrianB14:50 11 Jun '09  
QuestionRegards VB.NET and ASP.NET Pinmemberahmedaaki0:49 21 May '07  
AnswerRe: Regards VB.NET and ASP.NET Pinmemberjebarson1:47 21 May '07  
GeneralHai Tell About AJAX PinmemberSenthil S16:43 3 May '07  
AnswerRe: Hai Tell About AJAX Pinmemberjebarson19:36 6 May '07  
GeneralSuggestion: Example message should include the image Pinmembersimon.proctor23:45 11 Apr '07  
GeneralRe: Suggestion: Example message should include the image Pinmemberjebarson0:25 12 Apr '07  
GeneralRe: Suggestion: Example message should include the image Pinmembersimon.proctor0:29 12 Apr '07  
AnswerRe: Suggestion: Example message should include the image Pinmemberjebarson1:22 16 Apr '07  
GeneralRe: Suggestion: Example message should include the image Pinmembersimon.proctor22:15 17 Apr '07  
AnswerRe: Suggestion: Example message should include the image Pinmemberjebarson18:48 18 Apr '07  
GeneralRe: Suggestion: Example message should include the image Pinmembersimon.proctor23:04 18 Apr '07  
AnswerRe: Suggestion: Example message should include the image Pinmemberjebarson19:26 20 Apr '07  
GeneralRe: Suggestion: Example message should include the image Pinmemberbeebbh5:46 23 Apr '07  
GeneralRe: Suggestion: Example message should include the image PinmemberGlay5:24 6 May '07  
GeneralGetting Exception.. Pinmembercrazy_mads22:18 29 Mar '07  
GeneralRe: Getting Exception.. Pinmemberjebarson22:25 29 Mar '07  
GeneralRe: Getting Exception.. Pinmembercrazy_mads23:06 29 Mar '07  
GeneralRe: Getting Exception.. Pinmemberjebarson21:50 10 Apr '07  
GeneralI am coding in C#. Pinmembercrazy_mads20:14 29 Mar '07  

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.

Permalink | Advertise | Privacy | Mobile
Web01 | 2.5.120529.1 | Last Updated 6 Mar 2007
Article Copyright 2007 by jebarson
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid