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) Send Email to Distribution ListSends the same email to a list of 1000 email addresses in 50 sends where each email has 20 recipients. Note: Chilkat is not intended nor designed for mass emailing. A solution such as this might be used for a corporate emailing to employees, or an emailing to newsletter subscribers.
#import <CkoMailMan.h> #import <CkoEmail.h> #import <CkoBinData.h> #import <CkoStringTable.h> #import <CkoStringBuilder.h> // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoMailMan *mailman = [[CkoMailMan alloc] init]; BOOL success; mailman.SmtpHost = @"smtp.mymailserver.com"; mailman.SmtpPort = [NSNumber numberWithInt:465]; mailman.SmtpSsl = YES; mailman.SmtpUsername = @"myUsername"; mailman.SmtpPassword = @"myPassword"; // Create a new email object CkoEmail *email = [[CkoEmail alloc] init]; email.Subject = @"This is a test"; email.Body = @"This is a test"; email.From = @"Senders Name <sender@example.com>"; [email AddTo: @"Subscribers" emailAddress: @"subscribers@example.com"]; CkoBinData *bdMime = [[CkoBinData alloc] init]; [mailman RenderToMimeBd: email renderedMime: bdMime]; // Load a file containing one email address per line. CkoStringTable *distList = [[CkoStringTable alloc] init]; success = [distList AppendFromFile: [NSNumber numberWithInt: 1000] charset: @"utf-8" path: @"qa_data/distList.txt"]; if (success == NO) { NSLog(@"%@",distList.LastErrorText); return; } CkoStringBuilder *sbRecipients = [[CkoStringBuilder alloc] init]; int i = 0; int szDistList = [distList.Count intValue]; int j = 0; while (i < szDistList) { // Build a list of comma-separated recipients. if (j > 0) { [sbRecipients Append: @","]; } [sbRecipients Append: [distList StringAt: [NSNumber numberWithInt: i]]]; i = i + 1; j = j + 1; // If we have 20 recipients, or we have the final recipient in the final chunk, then send. if ((j == 20) || (i == szDistList)) { success = [mailman SendMimeBd: @"sender@example.com" recipients: [sbRecipients GetAsString] mimeData: bdMime]; if (success != YES) { NSLog(@"%@",mailman.LastErrorText); return; } j = 0; [sbRecipients Clear]; } } success = [mailman CloseSmtpConnection]; if (success != YES) { NSLog(@"%@",@"Connection to SMTP server not closed cleanly."); } NSLog(@"%@",@"Email sent to distirbution list."); |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.