PowerShell
PowerShell
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 PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$mailman = New-Object Chilkat.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
$email = New-Object Chilkat.Email
$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.
$sbMime = New-Object Chilkat.StringBuilder
$mailman.RenderToMimeSb($email,$sbMime)
# Update the Reply-To MIME header with a list of email addresses.
$replyToAddrs = "joe@example.com, mike@example.com"
$sbMime.ReplaceAllBetween("Reply-To: ","`r`n",$replyToAddrs,$false)
# Examine the MIME to be sent:
$($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 -eq $false) {
$($mailman.LastErrorText)
exit
}
$success = $mailman.CloseSmtpConnection()
if ($success -eq $false) {
$("Connection to SMTP server not closed cleanly.")
}
$("Mail Sent!")