Sample code for 30+ languages & platforms
Tcl

SMTP Connect and Authenticate

Demonstrates how to connect and then authenticate with an SMTP server.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set mailman [new_CkMailMan]

CkMailMan_put_SmtpHost $mailman "smtp.mail.us-west-2.awsapps.com"
CkMailMan_put_SmtpSsl $mailman 1
CkMailMan_put_SmtpPort $mailman 465

set success [CkMailMan_SmtpConnect $mailman]
if {$success == 0} then {
    puts [CkMailMan_lastErrorText $mailman]
    delete_CkMailMan $mailman
    exit
}

CkMailMan_put_SmtpUsername $mailman "john@example.com"
CkMailMan_put_SmtpPassword $mailman "the_password"

set success [CkMailMan_SmtpAuthenticate $mailman]
if {$success == 0} then {
    puts [CkMailMan_lastErrorText $mailman]
    delete_CkMailMan $mailman
    exit
}

puts "Authenticated!"

puts [CkMailMan_smtpSessionLog $mailman]

# Sample session log:

# 220 smtp.us-west-2.mail.awsapps.com ESMTP Amazon WorkMail SMTP Service
# EHLO SLICE<CRLF>
# 250-smtp.us-west-2.mail.awsapps.com
# 250-8BITMIME
# 250-AUTH PLAIN LOGIN
# 250 Ok
# AUTH LOGIN<CRLF>
# 334 VXNlcm5hbWU6
# am9obkBleGFtcGxlLmNvbQ==<CRLF>
# 334 UGFzc3dvcmQ6
# {PasswordOrCredentials}
# 235 Authentication successful.

delete_CkMailMan $mailman