Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(C) SendGrid HTML Email with Embedded ImagesSee more SendGrid ExamplesDemonstrates how to send an HTML email with embedded images using SendGrid.
#include <C_CkHttpRequest.h> #include <C_CkHttp.h> #include <C_CkBinData.h> #include <C_CkStringBuilder.h> #include <C_CkJsonObject.h> #include <C_CkHttpResponse.h> void ChilkatSample(void) { HCkHttpRequest req; HCkHttp http; BOOL success; HCkBinData bdJpg; HCkStringBuilder sbHtml; HCkJsonObject json; HCkHttpResponse resp; // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code req = CkHttpRequest_Create(); http = CkHttp_Create(); // 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;" /> bdJpg = CkBinData_Create(); success = CkBinData_LoadFile(bdJpg,"qa_data/jpg/starfish.jpg"); if (success == FALSE) { printf("Failed to load JPG file.\n"); CkHttpRequest_Dispose(req); CkHttp_Dispose(http); CkBinData_Dispose(bdJpg); return; } // 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. sbHtml = CkStringBuilder_Create(); 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>"); json = CkJsonObject_Create(); 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_putAuthToken(http,"SENDGRID_API_KEY"); resp = CkHttp_PostJson3(http,"https://api.sendgrid.com/v3/mail/send","application/json",json); if (CkHttp_getLastMethodSuccess(http) != TRUE) { printf("%s\n",CkHttp_lastErrorText(http)); } else { printf("response status code: %d\n",CkHttpResponse_getStatusCode(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.) printf("%s\n",CkHttpResponse_bodyStr(resp)); CkHttpResponse_Dispose(resp); } CkHttpRequest_Dispose(req); CkHttp_Dispose(http); CkBinData_Dispose(bdJpg); CkStringBuilder_Dispose(sbHtml); CkJsonObject_Dispose(json); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.