Sample code for 30+ languages & platforms
Classic ASP

Add Image to HTML Email

See more Email Object Examples

Demonstrates how to add an image to an HTML email.

Chilkat Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

set email = Server.CreateObject("Chilkat.Email")

email.From = "Matt <matt@example.com>"
success = email.AddTo("Joe","joe@example.com")
email.Subject = "This is a test"

' Add an HTML body with an image tag.
html = "<html><body><p>Test with image:</p><p><img src=""/wildlife/starfish.jpg"" /></p></body></html>"
email.SetHtmlBody html

' Add the image data from a file.  The pathInHtml must match the value of the img tag's src attribute.
pathInHtml = "/wildlife/starfish.jpg"
' The actual path of the JPG file in the local filesystem:
pathOnDisk = "qa_data/jpg/starfish20.jpg"

success = email.AddRelatedFile2(pathOnDisk,pathInHtml)
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( email.LastErrorText) & "</pre>"
    Response.End
End If

' The email is now properly constructed with an image that will be visible in the HTML.
' In this example, we'll save it to a .eml file and verify by loading the .eml in an email client such as Mozilla Thunderbird.

success = email.SaveEml("qa_output/starfish.eml")

' Also, we can examine the MIME to understand how the image data in the MIME is associated with the img tag in the HTML.
' It is the Content-Location header value that must match the value of the img tag's src attribute.

Response.Write "<pre>" & Server.HTMLEncode( email.GetMime()) & "</pre>"

' Here's the MIME:

' MIME-Version: 1.0
' Date: Thu, 26 May 2022 11:09:12 -0500
' Message-ID: <B1D499F74F533E287BFE04BBD79AAF1D973B61E3@SLICE>
' Content-Type: multipart/related; boundary="------------000205040704010904010706"
' X-Priority: 3 (Normal)
' From: Matt <matt@example.com>
' To: Joe <joe@example.com>
' Subject: This is a test
' 
' --------------000205040704010904010706
' Content-Type: text/html; charset=us-ascii
' Content-Transfer-Encoding: 7bit
' 
' <html><body><p>Test with image:</p><p><img src="/wildlife/starfish.jpg" /></p></body></html>
' --------------000205040704010904010706
' Content-Type: image/jpeg; name="/wildlife/starfish.jpg"
' Content-Transfer-Encoding: base64
' Content-Disposition: inline; filename="/wildlife/starfish.jpg"
' Content-Location: /wildlife/starfish.jpg
' 
' /9j/4AAQSkZJRgABAQEASABIAAD//gAmRmlsZSB3cml0dGVuIGJ5IEFkb2JlIFBob3Rvc2hvcD8g
' NC4w/9sAQwAQCwwODAoQDg0OEhEQExgoGhgWFhgxIyUdKDozPTw5Mzg3QEhcTkBEV0U3OFBtUVdf
' YmdoZz5NcXlwZHhcZWdj/9sAQwEREhIYFRgvGhovY0I4QmNjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj
' Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj/8IAEQgAFAAUAwERAAIRAQMRAf/EABcAAAMBAAAA
' AAAAAAAAAAAAAAIDBAX/xAAYAQADAQEAAAAAAAAAAAAAAAABAgMEAP/aAAwDAQACEAMQAAAB2kZY
' NNEijWKddfTmLgALWH//xAAbEAACAgMBAAAAAAAAAAAAAAABAgMRAAQSE//aAAgBAQABBQL0XqN+
' pM2aqJGMiqFFCyg7z//EABwRAAICAgMAAAAAAAAAAAAAAAERAAIQIQMSUf/aAAgBAwEBPwHqU5aq
' Axx+y1tMQl4elj//xAAcEQEAAQUBAQAAAAAAAAAAAAABEQACEBIhA1H/2gAIAQIBAT8B3Bhqy7Zc
' enyiwmGgDhiOzj//xAAdEAABAwUBAAAAAAAAAAAAAAABAAIREBIhIkFR/9oACAEBAAY/ArZyn+Cg
' xtxWuJaoCnqDuin/xAAcEAABBAMBAAAAAAAAAAAAAAABABEhYRAxQVH/2gAIAQEAAT8hkEwPUUR9
' DYfE4nxtRpIkBTsayuALIiuY/9oADAMBAAIAAwAAABDWPTsf/8QAGhEAAwADAQAAAAAAAAAAAAAA
' AAEREDFBIf/aAAgBAwEBPxC0DVPcWm+Ce4OesrkE6bjH/8QAGBEBAQEBAQAAAAAAAAAAAAAAAREA
' QRD/2gAIAQIBAT8QahMiOc8YgSrnTY3ELclHXn//xAAcEAEBAAIDAQEAAAAAAAAAAAABEQAhMUFx
' EFH/2gAIAQEAAT8Qn3igmSZSj+c4N4zapMy9IjFV98wncN2iuLFsCEbDGxQkI6RO/n//2Q==
' 
' --------------000205040704010904010706--

%>
</body>
</html>