![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Tcl) SendGrid HTML Email with Embedded ImagesSee more SendGrid ExamplesDemonstrates how to send an HTML email with embedded images using SendGrid.Note: This example requires Chilkat v11.0.0 or greater.
load ./chilkat.dll set success 0 # This requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code set req [new_CkHttpRequest] set http [new_CkHttp] # 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 [new_CkBinData] set success [CkBinData_LoadFile $bdJpg "qa_data/jpg/starfish.jpg"] if {$success == 0} then { puts "Failed to load JPG file." delete_CkHttpRequest $req delete_CkHttp $http delete_CkBinData $bdJpg exit } # 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 [new_CkStringBuilder] CkStringBuilder_Append $sbHtml "<html><body><b>This is a test<b><br /><img src=\"data:image/jpeg;base64," # Append the base64 image data to sbHtml. CkBinData_GetEncodedSb $bdJpg "base64" $sbHtml CkStringBuilder_Append $sbHtml "\" alt=\"\" style=\"border-width:0px;\" /></body></html>" set json [new_CkJsonObject] CkJsonObject_UpdateString $json "personalizations[0].to[0].email" "matt@chilkat.io" CkJsonObject_UpdateString $json "personalizations[0].to[0].name" "Matt" CkJsonObject_UpdateString $json "from.email" "admin@chilkatsoft.com" CkJsonObject_UpdateString $json "subject" "Test HTML email with images" CkJsonObject_UpdateString $json "content[0].type" "text/html" CkJsonObject_UpdateSb $json "content[0].value" $sbHtml CkHttp_put_AuthToken $http "SENDGRID_API_KEY" set resp [new_CkHttpResponse] set success [CkHttp_HttpJson $http "POST" "https://api.sendgrid.com/v3/mail/send" $json "application/json" $resp] if {$success == 0} then { puts [CkHttp_lastErrorText $http] delete_CkHttpRequest $req delete_CkHttp $http delete_CkBinData $bdJpg delete_CkStringBuilder $sbHtml delete_CkJsonObject $json delete_CkHttpResponse $resp exit } puts "response status code: [CkHttpResponse_get_StatusCode $resp]" # 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.) puts [CkHttpResponse_bodyStr $resp] delete_CkHttpRequest $req delete_CkHttp $http delete_CkBinData $bdJpg delete_CkStringBuilder $sbHtml delete_CkJsonObject $json delete_CkHttpResponse $resp |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.