Sample code for 30+ languages & platforms
Lua

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

Lua
local chilkat = require("chilkat")

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

local mailman = chilkat.MailMan.new()

mailman.smtp_host = "smtp.my_mail_server.com"
mailman.smtp_username = "myUsername"
mailman.smtp_password = "myPassword"
mailman.smtp_port = 465
mailman.smtp_ssl = true

-- Create a new email object
local email = chilkat.Email.new()

email.subject = "This is a test"
email.body = "This is a test"
email.from = "Joe <joe@example.com>"
local success = email:add_to("Mary", "mary@example2.com")

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

-- Get the email as MIME.
local sbMime = chilkat.StringBuilder.new()
mailman:render_to_mime_sb(email, sbMime)

-- Update the Reply-To MIME header with a list of email addresses.
local replyToAddrs = "joe@example.com, mike@example.com"
sbMime:replace_all_between("Reply-To: ", "\r\n", replyToAddrs, false)

-- Examine the MIME to be sent:
print(sbMime:get_as_string())

-- 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:send_mime("joe@example.com", "mary@example2.com", sbMime:get_as_string())
if not success then
    print(mailman.last_error_text)
    return
end

success = mailman:close_smtp_connection()
if not success then
    print("Connection to SMTP server not closed cleanly.")
end

print("Mail Sent!")