![]() |
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
(DataFlex) 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.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoReq Handle hoHttp Handle hoBdJpg Variant vSbHtml Handle hoSbHtml Variant vJson Handle hoJson Variant vResp Handle hoResp String sTemp1 Integer iTemp1 Move False To iSuccess // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code Get Create (RefClass(cComChilkatHttpRequest)) To hoReq If (Not(IsComObjectCreated(hoReq))) Begin Send CreateComObject of hoReq End Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End // 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;" /> Get Create (RefClass(cComChilkatBinData)) To hoBdJpg If (Not(IsComObjectCreated(hoBdJpg))) Begin Send CreateComObject of hoBdJpg End Get ComLoadFile Of hoBdJpg "qa_data/jpg/starfish.jpg" To iSuccess If (iSuccess = False) Begin Showln "Failed to load JPG file." Procedure_Return End // 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. Get Create (RefClass(cComChilkatStringBuilder)) To hoSbHtml If (Not(IsComObjectCreated(hoSbHtml))) Begin Send CreateComObject of hoSbHtml End Get ComAppend Of hoSbHtml '<html><body><b>This is a test<b><br /><img src="data:image/jpeg;base64,' To iSuccess // Append the base64 image data to sbHtml. Get pvComObject of hoSbHtml to vSbHtml Get ComGetEncodedSb Of hoBdJpg "base64" vSbHtml To iSuccess Get ComAppend Of hoSbHtml '" alt="" style="border-width:0px;" /></body></html>' To iSuccess Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Get ComUpdateString Of hoJson "personalizations[0].to[0].email" "matt@chilkat.io" To iSuccess Get ComUpdateString Of hoJson "personalizations[0].to[0].name" "Matt" To iSuccess Get ComUpdateString Of hoJson "from.email" "admin@chilkatsoft.com" To iSuccess Get ComUpdateString Of hoJson "subject" "Test HTML email with images" To iSuccess Get ComUpdateString Of hoJson "content[0].type" "text/html" To iSuccess Get pvComObject of hoSbHtml to vSbHtml Get ComUpdateSb Of hoJson "content[0].value" vSbHtml To iSuccess Set ComAuthToken Of hoHttp To "SENDGRID_API_KEY" Get Create (RefClass(cComChilkatHttpResponse)) To hoResp If (Not(IsComObjectCreated(hoResp))) Begin Send CreateComObject of hoResp End Get pvComObject of hoJson to vJson Get pvComObject of hoResp to vResp Get ComHttpJson Of hoHttp "POST" "https://api.sendgrid.com/v3/mail/send" vJson "application/json" vResp To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get ComStatusCode Of hoResp To iTemp1 Showln "response status code: " iTemp1 // 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.) Get ComBodyStr Of hoResp To sTemp1 Showln sTemp1 End_Procedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.