Sample code for 30+ languages & platforms
Dart

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 Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

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

  final mailman = CkMailMan();

  mailman.smtpHost = 'smtp.my_mail_server.com';
  mailman.smtpUsername = 'myUsername';
  mailman.smtpPassword = 'myPassword';
  mailman.smtpPort = 465;
  mailman.smtpSsl = true;

  // Create a new email object
  final email = CkEmail();

  email.subject = 'This is a test';
  email.body = 'This is a test';
  email.from = 'Joe <joe@example.com>';
  email.addTo('Mary', '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.
  final sbMime = CkStringBuilder();
  mailman.renderToMimeSb(email, sbMime);

  // Update the Reply-To MIME header with a list of email addresses.
  final replyToAddrs = 'joe@example.com, mike@example.com';
  sbMime.replaceAllBetween('Reply-To: ', '\r\n', replyToAddrs, false);

  // Examine the MIME to be sent:
  print(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...
  try {
    mailman.sendMime('joe@example.com', 'mary@example2.com', sbMime.getAsString());
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  try {
    mailman.closeSmtpConnection();
  } on ChilkatException {
    print('Connection to SMTP server not closed cleanly.');
  }

  print('Mail Sent!');
}