Sample code for 30+ languages & platforms
Xojo Plugin

SMTP NTLM Authentication

See more SMTP Examples

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

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

Dim mailman As New Chilkat.MailMan

// Specify your particular mail server's SMTP settings.
mailman.SmtpHost = "smtp.my_mail_server.com"
mailman.SmtpPort = 587
mailman.StartTLS = True

// This assumes you know your SMTP server supports NTLM authentication.
// To explicitly request NTLM authentication, set the SmtpAuthMethod property = "ntlm".
mailman.SmtpAuthMethod = "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.

Dim useCurrentWindowsUser As Boolean
useCurrentWindowsUser = True

If (useCurrentWindowsUser = True) Then
    // 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.SmtpUsername = "default"
    mailman.SmtpPassword = "default"
Else
    // Explicitly specify the SMTP username/password
    // The SMTP username is your email account username, which is often your email address.
    mailman.SmtpUsername = "your_smtp_username_or_email_address"
    mailman.SmtpPassword = "your_password"
End If

Dim email As New Chilkat.Email

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

success = mailman.SendEmail(email)
If (success <> True) Then
    System.DebugLog(mailman.LastErrorText)
    Return
End If

success = mailman.CloseSmtpConnection()
If (success <> True) Then
    System.DebugLog("Connection to SMTP server not closed cleanly.")
End If

System.DebugLog("Mail Sent!")