Sample code for 30+ languages & platforms
AutoIt

SMTP NTLM Authentication

See more SMTP Examples

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

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

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

$oMailman = ObjCreate("Chilkat.MailMan")

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

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

Local $bUseCurrentWindowsUser = True

If ($bUseCurrentWindowsUser = 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"
    $oMailman.SmtpUsername = "default"
    $oMailman.SmtpPassword = "default"
Else
    ; Explicitly specify the SMTP username/password
    ; The SMTP username is your email account username, which is often your email address.
    $oMailman.SmtpUsername = "your_smtp_username_or_email_address"
    $oMailman.SmtpPassword = "your_password"
EndIf

$oEmail = ObjCreate("Chilkat.Email")

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

$bSuccess = $oMailman.SendEmail($oEmail)
If ($bSuccess <> True) Then
    ConsoleWrite($oMailman.LastErrorText & @CRLF)
    Exit
EndIf

$bSuccess = $oMailman.CloseSmtpConnection()
If ($bSuccess <> True) Then
    ConsoleWrite("Connection to SMTP server not closed cleanly." & @CRLF)
EndIf

ConsoleWrite("Mail Sent!" & @CRLF)