Sample code for 30+ languages & platforms
Visual FoxPro

SMTP NTLM Authentication

See more SMTP Examples

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

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loMailman
LOCAL lnUseCurrentWindowsUser
LOCAL loEmail

lnSuccess = 0

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

loMailman = CreateObject('Chilkat.MailMan')

* Specify your particular mail server's SMTP settings.
loMailman.SmtpHost = "smtp.my_mail_server.com"
loMailman.SmtpPort = 587
loMailman.StartTLS = 1

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

lnUseCurrentWindowsUser = 1

IF (lnUseCurrentWindowsUser = 1) 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"
    loMailman.SmtpUsername = "default"
    loMailman.SmtpPassword = "default"
ELSE
    * Explicitly specify the SMTP username/password
    * The SMTP username is your email account username, which is often your email address.
    loMailman.SmtpUsername = "your_smtp_username_or_email_address"
    loMailman.SmtpPassword = "your_password"
ENDIF

loEmail = CreateObject('Chilkat.Email')

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

lnSuccess = loMailman.SendEmail(loEmail)
IF (lnSuccess <> 1) THEN
    ? loMailman.LastErrorText
    RELEASE loMailman
    RELEASE loEmail
    CANCEL
ENDIF

lnSuccess = loMailman.CloseSmtpConnection()
IF (lnSuccess <> 1) THEN
    ? "Connection to SMTP server not closed cleanly."
ENDIF

? "Mail Sent!"

RELEASE loMailman
RELEASE loEmail