Sample code for 30+ languages & platforms
B4X

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

B4X
Dim success As Boolean = False

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

Dim mailman As ChilkatMailMan
mailman.Initialize("mailman")

mailman.SmtpHost = "smtp.my_mail_server.com"
mailman.SmtpUsername = "myUsername"
mailman.SmtpPassword = "myPassword"
mailman.SmtpPort = 465
mailman.SmtpSsl = True

'  Create a new email object
Dim email As ChilkatEmail
email.Initialize

email.Subject = "This is a test"
email.Body = "This is a test"
email.From = "Joe <joe@example.com>"
success = 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.
Dim sbMime As ChilkatStringBuilder
sbMime.Initialize
mailman.RenderToMimeSb(email, sbMime)

'  Update the Reply-To MIME header with a list of email addresses.
Dim replyToAddrs As String = "joe@example.com, mike@example.com"
sbMime.ReplaceAllBetween("Reply-To: ", Chr(13) & Chr(10), replyToAddrs, False)

'  Examine the MIME to be sent:
Log(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", "mary@example2.com", sbMime.GetAsString)
If success = False Then
    Log(mailman.LastErrorText)
    Return
End If


success = mailman.CloseSmtpConnection
If success = False Then
    Log("Connection to SMTP server not closed cleanly.")
End If


Log("Mail Sent!")