Classic ASP
Classic ASP
SendGrid HTML Email with Embedded Images
See more SendGrid Examples
Demonstrates how to send an HTML email with embedded images using SendGrid.Chilkat Classic ASP Downloads
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0
' This requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code
set req = Server.CreateObject("Chilkat.HttpRequest")
set http = Server.CreateObject("Chilkat.Http")
' First.. load a JPG file and build an HTML img tag with the JPG data inline encoded.
' Our HTML img tag will look like this:
' <img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEA3ADcAA..." alt="" style="border-width:0px;" />
set bdJpg = Server.CreateObject("Chilkat.BinData")
success = bdJpg.LoadFile("qa_data/jpg/starfish.jpg")
If (success = 0) Then
Response.Write "<pre>" & Server.HTMLEncode( "Failed to load JPG file.") & "</pre>"
Response.End
End If
' Note: HTML containing embedded base64 image data may not be visible in all email clients.
' For example, GMail might not display the image, but viewing in Outlook might be OK.
set sbHtml = Server.CreateObject("Chilkat.StringBuilder")
success = sbHtml.Append("<html><body><b>This is a test<b><br /><img src=""data:image/jpeg;base64,")
' Append the base64 image data to sbHtml.
success = bdJpg.GetEncodedSb("base64",sbHtml)
success = sbHtml.Append(""" alt="""" style=""border-width:0px;"" /></body></html>")
set json = Server.CreateObject("Chilkat.JsonObject")
success = json.UpdateString("personalizations[0].to[0].email","matt@chilkat.io")
success = json.UpdateString("personalizations[0].to[0].name","Matt")
success = json.UpdateString("from.email","admin@chilkatsoft.com")
success = json.UpdateString("subject","Test HTML email with images")
success = json.UpdateString("content[0].type","text/html")
success = json.UpdateSb("content[0].value",sbHtml)
http.AuthToken = "SENDGRID_API_KEY"
set resp = Server.CreateObject("Chilkat.HttpResponse")
success = http.HttpJson("POST","https://api.sendgrid.com/v3/mail/send",json,"application/json",resp)
If (success = 0) Then
Response.Write "<pre>" & Server.HTMLEncode( http.LastErrorText) & "</pre>"
Response.End
End If
Response.Write "<pre>" & Server.HTMLEncode( "response status code: " & resp.StatusCode) & "</pre>"
' Display the response.
' If successful, the response code is 202 and the response body string is empty.
' (The response body string may also be empty for error response codes.)
Response.Write "<pre>" & Server.HTMLEncode( resp.BodyStr) & "</pre>"
%>
</body>
</html>