Sample code for 30+ languages & platforms
Java

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

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Email;
import com.chilkatsoft.chilkat2.MailMan;
import com.chilkatsoft.chilkat2.StringBuilder;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        MailMan mailman = new MailMan();

        mailman.setSmtpHost("smtp.my_mail_server.com");
        mailman.setSmtpUsername("myUsername");
        mailman.setSmtpPassword("myPassword");
        mailman.setSmtpPort(465);
        mailman.setSmtpSsl(true);

        // Create a new email object
        Email email = new Email();

        email.setSubject("This is a test");
        email.setBody("This is a test");
        email.setFrom("Joe <joe@example.com>");
        email.addTo("Mary", "mary@example2.com");

        // Specify a single reply-to address, which will get replace with a list of addresses..
        email.setReplyTo("placeholder@example.com");

        // Get the email as MIME.
        StringBuilder sbMime = new StringBuilder();
        mailman.renderToMimeSb(email, sbMime);

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

        // Examine the MIME to be sent:
        System.out.println(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...
        try {
            mailman.sendMime("joe@example.com", "mary@example2.com", sbMime.getAsString());
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        try {
            mailman.closeSmtpConnection();
        } catch (ChilkatException e) {
            System.out.println("Connection to SMTP server not closed cleanly.");
        }

        System.out.println("Mail Sent!");
    }
}