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
(Objective-C) SendGrid HTML Email with Embedded ImagesSee more SendGrid ExamplesDemonstrates how to send an HTML email with embedded images using SendGrid.
#import <CkoHttpRequest.h> #import <CkoHttp.h> #import <CkoBinData.h> #import <CkoStringBuilder.h> #import <CkoJsonObject.h> #import <CkoHttpResponse.h> // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code CkoHttpRequest *req = [[CkoHttpRequest alloc] init]; CkoHttp *http = [[CkoHttp alloc] init]; BOOL success; // 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;" /> CkoBinData *bdJpg = [[CkoBinData alloc] init]; success = [bdJpg LoadFile: @"qa_data/jpg/starfish.jpg"]; if (success == NO) { NSLog(@"%@",@"Failed to load JPG file."); 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. CkoStringBuilder *sbHtml = [[CkoStringBuilder alloc] init]; [sbHtml Append: @"<html><body><b>This is a test<b><br /><img src=\"data:image/jpeg;base64,"]; // Append the base64 image data to sbHtml. [bdJpg GetEncodedSb: @"base64" sb: sbHtml]; [sbHtml Append: @"\" alt=\"\" style=\"border-width:0px;\" /></body></html>"]; CkoJsonObject *json = [[CkoJsonObject alloc] init]; [json UpdateString: @"personalizations[0].to[0].email" value: @"matt@chilkat.io"]; [json UpdateString: @"personalizations[0].to[0].name" value: @"Matt"]; [json UpdateString: @"from.email" value: @"admin@chilkatsoft.com"]; [json UpdateString: @"subject" value: @"Test HTML email with images"]; [json UpdateString: @"content[0].type" value: @"text/html"]; [json UpdateSb: @"content[0].value" sb: sbHtml]; http.AuthToken = @"SENDGRID_API_KEY"; CkoHttpResponse *resp = 0; resp = [http PostJson3: @"https://api.sendgrid.com/v3/mail/send" contentType: @"application/json" json: json]; if (http.LastMethodSuccess != YES) { NSLog(@"%@",http.LastErrorText); } else { NSLog(@"%@%d",@"response status code: ",[resp.StatusCode intValue]); // 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.) NSLog(@"%@",resp.BodyStr); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.