|  | 
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
| (C) Yahoo Mail Send using OAuth2 Access TokenSee more Yahoo Mail ExamplesDemonstrates how to send email using Yahoo and OAuth2 authentication. This example assumes an OAuth2 access token was previously obtained.
 #include <C_CkJsonObject.h> #include <C_CkMailMan.h> #include <C_CkEmail.h> void ChilkatSample(void) { HCkJsonObject json; BOOL success; const char *accessToken; HCkMailMan mailman; HCkEmail email; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // See Get Yahoo Mail OAuth2 Access Token for Desktop App // for sample code showing how to obtain a Yahoo Mail access token. // In this example, our access token was previously saved to the following file which contains JSON like this: // { // "access_token": "kCVQdnOdul...LHucA--", // "refresh_token": "AIenVXETSo0jklFBVkPS8vVm8E.Ej9ToRG.xDbDYmZ65WIs5t6CZhDrD", // "expires_in": 3600, // "token_type": "bearer", // "xoauth_yahoo_guid": "HGDQCVF5JB4YDOWHITQJFBHCWA" // } json = CkJsonObject_Create(); success = CkJsonObject_LoadFile(json,"qa_data/tokens/yahooMail.json"); if (success != TRUE) { printf("Failed to load Yahoo access token file.\n"); CkJsonObject_Dispose(json); return; } accessToken = CkJsonObject_stringOf(json,"access_token"); mailman = CkMailMan_Create(); // Set the properties for the Yahoo SMTP server: CkMailMan_putSmtpHost(mailman,"smtp.mail.yahoo.com"); CkMailMan_putSmtpPort(mailman,465); CkMailMan_putSmtpSsl(mailman,TRUE); // The SMTP username should be the Yahoo email address of the user's account that authorized your app to send email. CkMailMan_putSmtpUsername(mailman,"user@yahoo.com"); CkMailMan_putOAuth2AccessToken(mailman,accessToken); // Create a new email object email = CkEmail_Create(); CkEmail_putSubject(email,"This is a test"); CkEmail_putBody(email,"This is a test"); CkEmail_putFrom(email,"Joe User <user@yahoo.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. success = CkMailMan_SendEmail(mailman,email); if (success != TRUE) { printf("%s\n",CkMailMan_lastErrorText(mailman)); CkJsonObject_Dispose(json); CkMailMan_Dispose(mailman); CkEmail_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 = CkMailMan_CloseSmtpConnection(mailman); if (success != TRUE) { printf("Connection to SMTP server not closed cleanly.\n"); } printf("Email Sent via Yahoo with OAuth2 authentication.\n"); CkJsonObject_Dispose(json); CkMailMan_Dispose(mailman); CkEmail_Dispose(email); } | ||||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.