Tcl
Tcl
SMTP XOAUTH2 Authentication
See more SMTP Examples
Demonstrates how to authenticate using an OAuth2 access token. This example assumes you have already obtained the access token and now wish to use it in an SMTP session.Chilkat Tcl Downloads
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 oauth2_access_token "some_previously_obtained_token"
set mailman [new_CkMailMan]
# Set the properties for the SMTP server, whatever they may be..
CkMailMan_put_SmtpHost $mailman "smtp.example.com"
CkMailMan_put_SmtpPort $mailman 587
CkMailMan_put_StartTLS $mailman 1
CkMailMan_put_SmtpUsername $mailman "myLogin"
CkMailMan_put_OAuth2AccessToken $mailman $oauth2_access_token
# Create a new email object
set email [new_CkEmail]
CkEmail_put_Subject $email "This is a test"
CkEmail_put_Body $email "This is a test"
CkEmail_put_From $email "Joe Example <joe@example.com>"
CkEmail_AddTo $email "Chilkat Admin" "admin@chilkatsoft.com"
# Connect to the server indicated by the SmtpHost property
set success [CkMailMan_SmtpConnect $mailman]
if {$success != 1} then {
puts [CkMailMan_lastErrorText $mailman]
delete_CkMailMan $mailman
delete_CkEmail $email
exit
}
# Authenticate using XOAUTH2 (using the OAuth2AccessToken)
set success [CkMailMan_SmtpAuthenticate $mailman]
if {$success != 1} then {
puts [CkMailMan_lastErrorText $mailman]
delete_CkMailMan $mailman
delete_CkEmail $email
exit
}
set success [CkMailMan_SendEmail $mailman $email]
if {$success != 1} then {
puts [CkMailMan_lastErrorText $mailman]
delete_CkMailMan $mailman
delete_CkEmail $email
exit
}
puts "Email sent."
CkMailMan_CloseSmtpConnection $mailman
delete_CkMailMan $mailman
delete_CkEmail $email