Visual FoxPro
Visual FoxPro
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 Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loMailman
LOCAL loEmail
LOCAL loSbMime
LOCAL lcReplyToAddrs
lnSuccess = 0
* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loMailman = CreateObject('Chilkat.MailMan')
loMailman.SmtpHost = "smtp.my_mail_server.com"
loMailman.SmtpUsername = "myUsername"
loMailman.SmtpPassword = "myPassword"
loMailman.SmtpPort = 465
loMailman.SmtpSsl = 1
* Create a new email object
loEmail = CreateObject('Chilkat.Email')
loEmail.Subject = "This is a test"
loEmail.Body = "This is a test"
loEmail.From = "Joe <joe@example.com>"
lnSuccess = loEmail.AddTo("Mary","mary@example2.com")
* Specify a single reply-to address, which will get replace with a list of addresses..
loEmail.ReplyTo = "placeholder@example.com"
* Get the email as MIME.
loSbMime = CreateObject('Chilkat.StringBuilder')
loMailman.RenderToMimeSb(loEmail,loSbMime)
* Update the Reply-To MIME header with a list of email addresses.
lcReplyToAddrs = "joe@example.com, mike@example.com"
loSbMime.ReplaceAllBetween("Reply-To: ",CHR(13) + CHR(10),lcReplyToAddrs,0)
* Examine the MIME to be sent:
? loSbMime.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...
lnSuccess = loMailman.SendMime("joe@example.com","mary@example2.com",loSbMime.GetAsString())
IF (lnSuccess = 0) THEN
? loMailman.LastErrorText
RELEASE loMailman
RELEASE loEmail
RELEASE loSbMime
CANCEL
ENDIF
lnSuccess = loMailman.CloseSmtpConnection()
IF (lnSuccess = 0) THEN
? "Connection to SMTP server not closed cleanly."
ENDIF
? "Mail Sent!"
RELEASE loMailman
RELEASE loEmail
RELEASE loSbMime