![]()  | 
  
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
 
      (DataFlex) OAuth2 for a GMail using a P12 Service Account KeySee more GMail REST API ExamplesDemonstrates how to use GMail with OAuth2 for aservice account within a Google Workspace Account where your email domain is custom (e.g., @yourcompany.com).
Note: This example does not work for  For more information, see https://www.chilkatsoft.com/google_workspace_setup_smtp_gmail.asp 
 Use ChilkatAx-win32.pkg Procedure Test Handle hoHttp Variant vCert Handle hoCert Boolean iSuccess String sIss String sScope String sOauth_sub Integer iNumSec String sAccessToken Handle hoMailman Variant vEmail Handle hoEmail String sTemp1 Boolean bTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End // -------------------------------------------------------------------------------- // For a step-by-step guide for setting up your Google Workspace service account, // see Setup Google Workspace Account for Sending SMTP GMail from a Service Account // -------------------------------------------------------------------------------- // Begin by loading your Google service account key (.p12) Get Create (RefClass(cComChilkatCert)) To hoCert If (Not(IsComObjectCreated(hoCert))) Begin Send CreateComObject of hoCert End Get ComLoadPfxFile Of hoCert "c:/someDirectory/keys/chilkat25-cbd7b42afbd8.p12" "notasecret" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoCert To sTemp1 Showln sTemp1 Procedure_Return End // The ISS is your service account email address ending in gserviceaccount.com. Move "chilkatsvc@chilkat25.iam.gserviceaccount.com" To sIss // The scope is always the following string: Move "https://mail.google.com/" To sScope // The sub is your company email address Move "bob@yourcompany.com" To sOauth_sub // The access token is valid for this number of seconds. Move 3600 To iNumSec Get pvComObject of hoCert to vCert Get ComG_SvcOauthAccessToken Of hoHttp sIss sScope sOauth_sub iNumSec vCert To sAccessToken Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Else Begin Showln "access token: " sAccessToken End // The access token allows us to send unlimited emails while it's valid. Once it expires, we must obtain and use a new one. // ----------------------------------------------------------------------- Get Create (RefClass(cComChilkatMailMan)) To hoMailman If (Not(IsComObjectCreated(hoMailman))) Begin Send CreateComObject of hoMailman End // Set the properties for the GMail SMTP server: Set ComSmtpHost Of hoMailman To "smtp.gmail.com" Set ComSmtpPort Of hoMailman To 587 Set ComStartTLS Of hoMailman To True Set ComSmtpUsername Of hoMailman To "bob@yourcompany.com" Set ComOAuth2AccessToken Of hoMailman To sAccessToken // Create a new email object Get Create (RefClass(cComChilkatEmail)) To hoEmail If (Not(IsComObjectCreated(hoEmail))) Begin Send CreateComObject of hoEmail End Set ComSubject Of hoEmail To "This is a test" Set ComBody Of hoEmail To "This is a test" Set ComFrom Of hoEmail To "Bob <bob@yourcompany.com>" Get ComAddTo Of hoEmail "Recipient" "recipient@example.com" To iSuccess // To add more recipients, call AddTo, AddCC, or AddBcc once per recipient. Get pvComObject of hoEmail to vEmail Get ComSendEmail Of hoMailman vEmail To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoMailman To sTemp1 Showln sTemp1 Procedure_Return End Get ComCloseSmtpConnection Of hoMailman To iSuccess If (iSuccess <> True) Begin Showln "Connection to SMTP server not closed cleanly." End Showln "Successfully sent email using Gmail with a service account key." End_Procedure  | 
  ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.