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) Mailgun Send Send HTML Email with Attachments and HTML ImagesSee more Mailgun ExamplesSends an HTML email with images and attachments. For more information, see https://documentation.mailgun.com/en/latest/api-sending.html#sending
#import <CkoHttp.h> #import <CkoHttpRequest.h> #import <CkoBinData.h> #import <CkoHttpResponse.h> #import <CkoStringBuilder.h> #import <CkoJsonObject.h> #import <NSString.h> // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoHttp *http = [[CkoHttp alloc] init]; BOOL success; http.Login = @"api"; http.Password = @"sending_api_key";// Replace with your actual sending API key. CkoHttpRequest *req = [[CkoHttpRequest alloc] init]; req.HttpVerb = @"POST"; req.Path = @"/v3/YOUR_DOMAIN_NAME/messages"; req.ContentType = @"multipart/form-data"; // Change YOUR_DOMAIN_NAME to something like "mg.your-domain.com". [req AddParam: @"from" value: @"Your Name <mailgun@YOUR_DOMAIN_NAME>"]; [req AddParam: @"to" value: @"Joe Example <joe@example.com>"]; [req AddParam: @"subject" value: @"Hello Joe Example"]; [req AddParam: @"html" value: @"<html><body><b>This is the HTML body</b><br><img src=\"cid:cidStarfish.jpg\"></body></html>"]; // An a attachd file CkoBinData *bd = [[CkoBinData alloc] init]; success = [bd LoadFile: @"qa_data/hamlet.zip"]; if (success == NO) { NSLog(@"%@",@"Failed to load file attachment."); return; } [req AddBdForUpload: @"attachment" remoteFilename: @"hamlet.zip" byteData: bd contentType: @"application/zip"]; // add an image as CID success = [bd LoadFile: @"qa_data/jpg/starfish.jpg"]; if (success == NO) { NSLog(@"%@",@"Failed to load HTML image."); return; } [req AddBdForUpload: @"inline" remoteFilename: @"cidStarfish.jpg" byteData: bd contentType: @"image/jpeg"]; CkoHttpResponse *resp = [http SynchronousRequest: @"api.mailgun.net" port: [NSNumber numberWithInt: 443] ssl: YES req: req]; if (http.LastMethodSuccess == NO) { NSLog(@"%@",http.LastErrorText); return; } CkoStringBuilder *sbResponseBody = [[CkoStringBuilder alloc] init]; [resp GetBodySb: sbResponseBody]; CkoJsonObject *jResp = [[CkoJsonObject alloc] init]; [jResp LoadSb: sbResponseBody]; jResp.EmitCompact = NO; NSLog(@"%@",@"Response Body:"); NSLog(@"%@",[jResp Emit]); int respStatusCode = [resp.StatusCode intValue]; NSLog(@"%@%d",@"Response Status Code = ",respStatusCode); if (respStatusCode >= 400) { NSLog(@"%@",@"Response Header:"); NSLog(@"%@",resp.Header); NSLog(@"%@",@"Failed."); return; } // Sample JSON response: // (Sample code for parsing the JSON response is shown below) // { // "id": "<20210429234809.1.2D550E1C94D3D98F@sandbox0e542e4c577f4bbb98c8bf6b6bca727b.mailgun.org>", // "message": "Queued. Thank you." // } // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON NSString *id = [jResp StringOf: @"id"]; NSString *message = [jResp StringOf: @"message"]; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.