Sample code for 30+ languages & platforms
Tcl

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

Tcl

load ./chilkat.dll

set success 0

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

set mailman [new_CkMailMan]

CkMailMan_put_SmtpHost $mailman "smtp.my_mail_server.com"
CkMailMan_put_SmtpUsername $mailman "myUsername"
CkMailMan_put_SmtpPassword $mailman "myPassword"
CkMailMan_put_SmtpPort $mailman 465
CkMailMan_put_SmtpSsl $mailman 1

# Create a new email object
set email [new_CkEmail]

CkEmail_put_Subject $email "This is a test"
CkEmail_put_Body $email "This is a test"
CkEmail_put_From $email "Joe <joe@example.com>"
set success [CkEmail_AddTo $email "Mary" "mary@example2.com"]

# Specify a single reply-to address, which will get replace with a list of addresses..
CkEmail_put_ReplyTo $email "placeholder@example.com"

# Get the email as MIME.
set sbMime [new_CkStringBuilder]

CkMailMan_RenderToMimeSb $mailman $email $sbMime

# Update the Reply-To MIME header with a list of email addresses.
set replyToAddrs "joe@example.com, mike@example.com"
CkStringBuilder_ReplaceAllBetween $sbMime "Reply-To: " "\r\n" $replyToAddrs 0

# Examine the MIME to be sent:
puts [CkStringBuilder_getAsString $sbMime]

# 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...
set success [CkMailMan_SendMime $mailman "joe@example.com" "mary@example2.com" [CkStringBuilder_getAsString $sbMime]]
if {$success == 0} then {
    puts [CkMailMan_lastErrorText $mailman]
    delete_CkMailMan $mailman
    delete_CkEmail $email
    delete_CkStringBuilder $sbMime
    exit
}

set success [CkMailMan_CloseSmtpConnection $mailman]
if {$success == 0} then {
    puts "Connection to SMTP server not closed cleanly."
}

puts "Mail Sent!"

delete_CkMailMan $mailman
delete_CkEmail $email
delete_CkStringBuilder $sbMime