Sample code for 30+ languages & platforms
Objective-C

Send Email with Multiple Reply-To Addresses

See more SMTP Examples

Send email with multiple repy-to addresses.

Note: Some mail servers will remove the extra email addresses from the Reply-To header. Even if you provide multiple reply-to addresses, the email may arrive with only the 1st.

Chilkat Objective-C Downloads

Objective-C
#import <CkoMailMan.h>
#import <CkoEmail.h>
#import <CkoStringBuilder.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.my_mail_server.com";
mailman.SmtpUsername = @"myUsername";
mailman.SmtpPassword = @"myPassword";
mailman.SmtpPort = [NSNumber numberWithInt:465];
mailman.SmtpSsl = YES;

// Create a new email object
CkoEmail *email = [[CkoEmail alloc] init];

email.Subject = @"This is a test";
email.Body = @"This is a test";
email.From = @"Joe <joe@example.com>";
success = [email AddTo: @"Mary" emailAddress: @"mary@example2.com"];

// Specify a single reply-to address, which will get replace with a list of addresses..
email.ReplyTo = @"placeholder@example.com";

// Get the email as MIME.
CkoStringBuilder *sbMime = [[CkoStringBuilder alloc] init];
[mailman RenderToMimeSb: email renderedMime: sbMime];

// Update the Reply-To MIME header with a list of email addresses.
NSString *replyToAddrs = @"joe@example.com, mike@example.com";
[sbMime ReplaceAllBetween: @"Reply-To: " endMark: @"\r\n" replacement: replyToAddrs replaceMarks: NO];

// Examine the MIME to be sent:
NSLog(@"%@",[sbMime GetAsString]);

// Here's the MIME:

// MIME-Version: 1.0
// Date: Tue, 03 Sep 2024 08:18:12 -0500
// Message-ID: <D892B0E563A7A13B1F499530DE21529714EA479A@SLICE>
// Content-Type: text/plain; charset=us-ascii; format=flowed
// Content-Transfer-Encoding: 7bit
// X-Priority: 3 (Normal)
// Subject: This is a test
// From: Joe <joe@example.com>
// To: Mary <mary@example2.com>
// Reply-To: joe@example.com, mike@example.com
// 
// This is a test

// ---------
// Send the MIME...
success = [mailman SendMime: @"joe@example.com" recipients: @"mary@example2.com" mimeMsg: [sbMime GetAsString]];
if (success == NO) {
    NSLog(@"%@",mailman.LastErrorText);
    return;
}

success = [mailman CloseSmtpConnection];
if (success == NO) {
    NSLog(@"%@",@"Connection to SMTP server not closed cleanly.");
}

NSLog(@"%@",@"Mail Sent!");