Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) POP3 GMail XOAUTH2 AuthenticationDemonstrates using OAuth2 authentication with pop.gmail.com. Note: This example requires Chilkat v9.5.0.83 or greater.
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) -- This example requires the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. DECLARE @mailman int -- Use "Chilkat_9_5_0.MailMan" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.MailMan', @mailman OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END EXEC sp_OASetProperty @mailman, 'MailHost', 'pop.gmail.com' EXEC sp_OASetProperty @mailman, 'MailPort', 995 EXEC sp_OASetProperty @mailman, 'PopSsl', 1 EXEC sp_OASetProperty @mailman, 'PopUsername', 'my_account@gmail.com' -- If using OAuth2 authentication, leave the password empty. EXEC sp_OASetProperty @mailman, 'PopPassword', '' -- Load our previously obtained OAuth2 access token. -- See Getting a GMail POP3 OAuth2 Access Token DECLARE @jsonToken int -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @jsonToken OUT DECLARE @success int EXEC sp_OAMethod @jsonToken, 'LoadFile', @success OUT, 'qa_data/tokens/gmail_pop3.json' IF @success = 0 BEGIN EXEC sp_OAGetProperty @jsonToken, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @mailman EXEC @hr = sp_OADestroy @jsonToken RETURN END EXEC sp_OAMethod @jsonToken, 'StringOf', @sTmp0 OUT, 'access_token' EXEC sp_OASetProperty @mailman, 'OAuth2AccessToken', @sTmp0 -- Make the TLS connection to the POP3 server. EXEC sp_OAMethod @mailman, 'Pop3Connect', @success OUT IF @success <> 1 BEGIN EXEC sp_OAGetProperty @mailman, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @mailman EXEC @hr = sp_OADestroy @jsonToken RETURN END -- Authenticate.. EXEC sp_OAMethod @mailman, 'Pop3Authenticate', @success OUT IF @success <> 1 BEGIN EXEC sp_OAGetProperty @mailman, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @mailman EXEC @hr = sp_OADestroy @jsonToken RETURN END -- Find out how many emails are on the server.. DECLARE @numEmails int EXEC sp_OAMethod @mailman, 'CheckMail', @numEmails OUT IF @numEmails < 0 BEGIN EXEC sp_OAGetProperty @mailman, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @mailman EXEC @hr = sp_OADestroy @jsonToken RETURN END -- Examine the POP3 session log: EXEC sp_OAGetProperty @mailman, 'Pop3SessionLog', @sTmp0 OUT PRINT @sTmp0 -- The POP3 session log will look something like this: -- **** Connected to pop.gmail.com:995 -- < +OK Gpop ready for requests from 87.9.200.42 l16mb86351205iok -- > AUTH XOAUTH2 dXNlcj1....VaMDJFAQE= -- < +OK Welcome. -- > STAT -- < +OK 301 1627357 -- -- -- Finished. -- End the POP3 session and close the connection to the GMail server. EXEC sp_OAMethod @mailman, 'Pop3EndSession', @success OUT IF @success <> 1 BEGIN EXEC sp_OAGetProperty @mailman, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @mailman EXEC @hr = sp_OADestroy @jsonToken RETURN END PRINT '-- Finished.' EXEC @hr = sp_OADestroy @mailman EXEC @hr = sp_OADestroy @jsonToken END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.