|  | 
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
| (Unicode C) 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. 
 #include <C_CkJsonObjectW.h> #include <C_CkMailManW.h> #include <C_CkEmailW.h> void ChilkatSample(void) { HCkJsonObjectW json; BOOL success; const wchar_t *accessToken; HCkMailManW mailman; HCkEmailW email; // 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" // } // json = CkJsonObjectW_Create(); success = CkJsonObjectW_LoadFile(json,L"qa_data/tokens/_gmailSmtp.json"); if (success != TRUE) { wprintf(L"Failed to load GMail access token file.\n"); CkJsonObjectW_Dispose(json); return; } accessToken = CkJsonObjectW_stringOf(json,L"access_token"); mailman = CkMailManW_Create(); // Set the properties for the GMail SMTP server: CkMailManW_putSmtpHost(mailman,L"smtp.gmail.com"); CkMailManW_putSmtpPort(mailman,587); CkMailManW_putStartTLS(mailman,TRUE); // The SMTP username should be the GMail address of the user's account that authorized your app to send email. CkMailManW_putSmtpUsername(mailman,L"chilkat.support@gmail.com"); CkMailManW_putOAuth2AccessToken(mailman,accessToken); // Create a new email object email = CkEmailW_Create(); CkEmailW_putSubject(email,L"This is a test"); CkEmailW_putBody(email,L"This is a test"); CkEmailW_putFrom(email,L"Chilkat <chilkat.support@gmail.com>"); CkEmailW_AddTo(email,L"Chilkat Admin",L"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. success = CkMailManW_SendEmail(mailman,email); if (success != TRUE) { wprintf(L"%s\n",CkMailManW_lastErrorText(mailman)); CkJsonObjectW_Dispose(json); CkMailManW_Dispose(mailman); CkEmailW_Dispose(email); return; } // 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). success = CkMailManW_CloseSmtpConnection(mailman); if (success != TRUE) { wprintf(L"Connection to SMTP server not closed cleanly.\n"); } wprintf(L"Email Sent via GMail with OAuth2 authentication.\n"); CkJsonObjectW_Dispose(json); CkMailManW_Dispose(mailman); CkEmailW_Dispose(email); } | ||||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.