Sample code for 30+ languages & platforms
Java

SMTP Inspection

See more SMTP Examples

Examine an SMTP session to view all communications sent to the SMTP server.

Chilkat Java Downloads

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

public class ChilkatExample {

    public static void main(String[] args) {
        MailMan mailman = new MailMan();

        mailman.setSmtpHost("smtp.example.com");
        mailman.setSmtpUsername("myUsername");
        mailman.setSmtpPassword("myPassword");

        mailman.setSmtpPort(465);
        mailman.setStartTLS(true);

        Email email = new Email();

        email.setSubject("This is a test");
        email.setBody("This is a test");
        email.setFrom("Alex <alex@example.com>");
        email.addTo("Christoph", "christoph@example2.com");
        email.addBcc("Victor", "victor@example3.com");

        // Generate the MIME that is sent when SendEmail is called
        String mimeStr = mailman.renderToMime(email);
        System.out.println(mimeStr);

        try {
            mailman.sendEmail(email);
        } 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.");
        }

        // Examine the SMTP session log.
        System.out.println("----");
        System.out.println("Smtp Session Log:");
        System.out.println(mailman.getSmtpSessionLog());

        // ---------------------------------------------------
        // Sample output:
        // ---------------------------------------------------

        // MIME-Version: 1.0
        // Date: Fri, 06 Mar 2026 16:21:00 -0600
        // Message-ID: <A5DC25990C93EC2676F4FBB2BB3BFA9EB34FF9D3@CHILKAT25>
        // Content-Type: text/plain; charset=us-ascii; format=flowed
        // Content-Transfer-Encoding: 7bit
        // X-Priority: 3 (Normal)
        // Subject: This is a test
        // From: Alex <alex@example.com>
        // To: Christoph <christoph@example2.com>
        // Bcc: Victor <victor@example3.com>
        //
        // This is a test
        // ----
        // Smtp Session Log:
        // 220 smtp.example.com ESMTP Amazon WorkMail SMTP Service
        // EHLO MYCOMPUTER<CRLF>
        // 250-smtp.example.com
        // 250-8BITMIME
        // 250-AUTH PLAIN LOGIN
        // 250 Ok
        // AUTH LOGIN<CRLF>
        // 334 VXNlcm5hbWU6
        // YWRtaW5AY2hpbGthdHNvZnQuY29t<CRLF>
        // 334 UGFzc3dvcmQ6
        // {PasswordOrCredentials}
        // 235 Authentication successful.
        // MAIL FROM:<alex@example.com><CRLF>
        // 250 Ok
        // RCPT TO:<christoph@example2.com><CRLF>
        // 250 Ok
        // RCPT TO:<victor@example3.com><CRLF>
        // 250 Ok
        // DATA<CRLF>
        // 354 End data with <CR><LF>.<CR><LF>
        // {388 bytes} <--- The MIME source of the email (examined via RenderToMime) was sent here.
        // <CRLF>.<CRLF>
        // 250 Ok
        // QUIT<CRLF>
        // 221 Bye
    }
}