|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (Tcl) GMail SMTP Send using Previously Obtained OAuth2 Access TokenDemonstrates how to send email using GMail and OAuth2 authentication. This example assumes an OAuth2 access token was previously obtained. 
 load ./chilkat.dll # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. # See Get GMail SMTP Access Token # for sample code showing how to obtain a GMail SMTP access token for desktop apps. # In this example, our access token was previously saved to the following file which contains JSON like this: # { # "access_token": "ya39.Ci-XA_C5bGgRDC3UaD-h0_NeL-DVIQnI2gHtBBBHkZzrwlARkwX6R3O0PCDEzRlfaQ", # "token_type": "Bearer", # "expires_in": 3600, # "refresh_token": "1/r_2c_7jddspcdfesrrfKqfXtqo08D6Q-gUU0DsdfVMsx0c" # } # set json [new_CkJsonObject] set success [CkJsonObject_LoadFile $json "qa_data/tokens/_gmailSmtp.json"] if {$success != 1} then { puts "Failed to load GMail access token file." delete_CkJsonObject $json exit } set accessToken [CkJsonObject_stringOf $json "access_token"] set mailman [new_CkMailMan] # Set the properties for the GMail SMTP server: CkMailMan_put_SmtpHost $mailman "smtp.gmail.com" CkMailMan_put_SmtpPort $mailman 587 CkMailMan_put_StartTLS $mailman 1 # The SMTP username should be the GMail address of the user's account that authorized your app to send email. CkMailMan_put_SmtpUsername $mailman "chilkat.support@gmail.com" CkMailMan_put_OAuth2AccessToken $mailman $accessToken # 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 "Chilkat <chilkat.support@gmail.com>" CkEmail_AddTo $email "Chilkat Admin" "admin@chilkatsoft.com" # To add more recipients, call AddTo, AddCC, or AddBcc once per recipient. # Call SendEmail to connect to the SMTP server and send. # The connection (i.e. session) to the SMTP server remains # open so that subsequent SendEmail calls may use the # same connection. set success [CkMailMan_SendEmail $mailman $email] if {$success != 1} then { puts [CkMailMan_lastErrorText $mailman] delete_CkJsonObject $json delete_CkMailMan $mailman delete_CkEmail $email exit } # You may close the connection here. If the connection is kept open, # the next call to mailman.SendEmail will continue using the already-established connection # (and automatically re-connect if needed). set success [CkMailMan_CloseSmtpConnection $mailman] if {$success != 1} then { puts "Connection to SMTP server not closed cleanly." } puts "Email Sent via GMail with OAuth2 authentication." delete_CkJsonObject $json delete_CkMailMan $mailman delete_CkEmail $email | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.