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("")
View = AlternateView.CreateAlternateViewFromString(msgText.ToString(),
Nothing, "text/html")
resource = New LinkedResource((Server.MapPath("Images\007jvr.gif")))
resource.ContentId = "Image1"
View.LinkedResources.Add(resource)
msg.AlternateViews.Add(View)
client = New SmtpClient()
client.Host = "smtp.gmail.com"
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.
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