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) Create Non-Multipart Email with XML Body that is an AttachmentSee more SMTP ExamplesCreates an email where the only body is a binary WAV file. The technique used in the example could be applied to other binary files, such as PDF, MS-WORD docs, Excel docs, etc.
#import <NSString.h> #import <CkoEmail.h> #import <CkoMailMan.h> // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // The goal of this example is to create an email that has this MIME format, // where the body of the email is XML using base64 encoding, // and the Content-Type and Content-Disposition are set as indicated. // Date: Wed, 23 Aug 2023 09:01:52 +0200 (CEST) // From: joe@example1.com // Subject: [v=EMCS.NL][a=NL****][k=****][s=0] // To: mary@example2.com // MIME-Version: 1.0 // Content-Type: application/octet-stream; charset=us-ascii; name=6bd8dfe259b3a42c90a28a82b5fc6e77.txt // Content-Transfer-Encoding: Base64 // Content-Disposition: attachment; filename=6bd8dfe259b3a42c90a28a82b5fc6e77.txt // Message-Id: <......> // // <multi-line base64 encoded XML here> BOOL success = YES; NSString *xmlBody = @"<ie:IE801 xmlns:ie=\"urn:publicid:-:EC:DGTAXUD:EMCS:PHASE4:IE801:V3.01\" xmlns:tms=\"urn:publicid:-:EC:DGTAXUD:EMCS:PHASE4:TMS:V3.01\">....</ie:IE801>"; CkoEmail *email = [[CkoEmail alloc] init]; // Add subject, TO, FROM, etc. email.Subject = @"[v=EMCS.NL][a=NL****][k=****][s=0]"; email.From = @"joe@example1.com"; success = [email AddTo: @"Mary" emailAddress: @"mary@example2.com"]; email.Body = xmlBody; [email AddHeaderField: @"Content-Transfer-Encoding" fieldValue: @"Base64"]; [email AddHeaderField: @"Content-Type" fieldValue: @"application/octet-stream; charset=us-ascii; name=6bd8dfe259b3a42c90a28a82b5fc6e77.txt"]; [email AddHeaderField: @"Content-Disposition" fieldValue: @"attachment; filename=6bd8dfe259b3a42c90a28a82b5fc6e77.txt"]; // Your email is ready to send CkoMailMan *mailman = [[CkoMailMan alloc] init]; mailman.SmtpHost = @"smtp.my_mail_server.com"; mailman.SmtpUsername = @"myUsername"; mailman.SmtpPassword = @"myPassword"; mailman.SmtpPort = [NSNumber numberWithInt:465]; mailman.SmtpSsl = YES; mailman.StartTLS = YES; success = [mailman SendEmail: email]; if (success != YES) { NSLog(@"%@",mailman.LastErrorText); return; } success = [mailman CloseSmtpConnection]; if (success != YES) { NSLog(@"%@",@"Connection to SMTP server not closed cleanly."); } NSLog(@"%@",@"Mail Sent!"); |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.