Click here to Skip to main content
Licence CPOL
First Posted 6 Mar 2007
Views 89,556
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  
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  
i am sorry you didnt understand the code i guess...
 
msg.AlternateViews.Add(View)
 
this is the place where we add the resource to the html message.
 

 

 
Is there is anything you cant do?

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
Web04 | 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