Sample code for 30+ languages & platforms
Java

SMTP NTLM Authentication

See more SMTP Examples

Demonstrates how to specify NTLM authentication for sending email via SMTP.

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) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        MailMan mailman = new MailMan();

        // Specify your particular mail server's SMTP settings.
        mailman.setSmtpHost("smtp.my_mail_server.com");
        mailman.setSmtpPort(587);
        mailman.setStartTLS(true);

        // This assumes you know your SMTP server supports NTLM authentication.
        // To explicitly request NTLM authentication, set the SmtpAuthMethod property = "ntlm".
        mailman.setSmtpAuthMethod("ntlm");

        // Note: Normally you should avoid setting the SmtpAuthMethod.
        // SMTP servers tell the connecting client the authentication methods it will accept when the initial connection is made.
        // Chilkat will automatically use this information to select and use the most secure auth method supported by the server.

        boolean useCurrentWindowsUser = true;

        if (useCurrentWindowsUser) {
            // If you are running on Windows, and you wish for the NTLM credentials of the current logged-on Windows user to be used,
            // set the username and password to the string "default"
            mailman.setSmtpUsername("default");
            mailman.setSmtpPassword("default");
        } else {
            // Explicitly specify the SMTP username/password
            // The SMTP username is your email account username, which is often your email address.
            mailman.setSmtpUsername("your_smtp_username_or_email_address");
            mailman.setSmtpPassword("your_password");
        }

        Email email = new Email();

        email.setSubject("This is a test");
        email.setBody("This is a test");
        // Don't forget to change this to use your email addresses..
        email.setFrom("Chilkat Support <support@chilkatsoft.com>");
        email.addTo("Chilkat Admin", "admin@chilkatsoft.com");
        // To add more recipients, call AddTo, AddCC, or AddBcc once per recipient.

        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.");
        }

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