Sample code for 30+ languages & platforms
Objective-C

SMTP Send Raw Command

Demonstrates how to send a raw command to the SMTP server after the connecting and authenticating.

Chilkat Objective-C Downloads

Objective-C
#import <CkoMailMan.h>
#import <NSString.h>

BOOL success = NO;

//  This example requires the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

CkoMailMan *mailman = [[CkoMailMan alloc] init];

mailman.SmtpHost = @"smtp.mail.us-west-2.awsapps.com";
mailman.SmtpSsl = YES;
mailman.SmtpPort = [NSNumber numberWithInt:465];

success = [mailman SmtpConnect];
if (success == NO) {
    NSLog(@"%@",mailman.LastErrorText);
    return;
}

mailman.SmtpUsername = @"john@example.com";
mailman.SmtpPassword = @"the_password";

success = [mailman SmtpAuthenticate];
if (success == NO) {
    NSLog(@"%@",mailman.LastErrorText);
    return;
}

NSLog(@"%@",@"Authenticated!");

//  Send the "EHLO" command again to get the multi-line response that includes the SMTP capabilities.
//  The capabilities are the lines in the response that begin with "250-".
NSString *responseStr = [mailman SmtpSendRawCommand: @"EHLO client.example.com" charset: @"utf-8" bEncodeBase64: NO];
if (mailman.LastMethodSuccess == NO) {
    NSLog(@"%@",mailman.LastErrorText);
    return;
}

NSLog(@"%@",responseStr);

//  A sample response:

//  250-smtp.us-west-2.mail.awsapps.com
//  250-8BITMIME
//  250-AUTH PLAIN LOGIN
//  250 Ok