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
(PureBasic) GMail App PasswordSee more GMail SMTP/IMAP/POP ExamplesDemonstrates how to authenticate using an app password with GMail for IMAP and SMTP.
IncludeFile "CkImap.pb" IncludeFile "CkMailMan.pb" Procedure ChilkatExample() ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. ; Starting May 30, 2022, Google will no longer support the use of third-party apps or devices ; which ask you to sign in to your Google Account using only your username and password. ; Instead of authenticating with your GMail username/password, a GMail user can create an App Password ; and then login using their username/app_password. It's literally the same, except it allows a GMail ; account owner to isolate passwords to specific applications. ; The Gmail account owner would first need to make sure she has 2-Step Verification setup for her account. ; Note: The 2FA verification is not a factor when authenticating with an app password. The 2FA is required ; to setup app passwords in the Google account console. See Sign in with App Passwords ; After the GMail account owner has setup his app password, he simply uses the app password instead of his GMail account password. ; For example: imap.i = CkImap::ckCreate() If imap.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkImap::setCkSsl(imap, 1) CkImap::setCkPort(imap, 993) success.i = CkImap::ckConnect(imap,"imap.gmail.com") If success = 0 Debug CkImap::ckLastErrorText(imap) CkImap::ckDispose(imap) ProcedureReturn EndIf success = CkImap::ckLogin(imap,"user@gmail.com","srnyyvqajocnsvdp") If success = 0 Debug CkImap::ckLastErrorText(imap) CkImap::ckDispose(imap) ProcedureReturn EndIf Debug "IMAP Success!" ; For SMTP.. mailman.i = CkMailMan::ckCreate() If mailman.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkMailMan::setCkSmtpHost(mailman, "smtp.gmail.com") CkMailMan::setCkSmtpUsername(mailman, "user@gmail.com") CkMailMan::setCkSmtpPassword(mailman, "srnyyvqajocnsvdp") CkMailMan::setCkSmtpSsl(mailman, 1) CkMailMan::setCkSmtpPort(mailman, 465) success = CkMailMan::ckSmtpConnect(mailman) If success = 0 Debug CkMailMan::ckLastErrorText(mailman) CkImap::ckDispose(imap) CkMailMan::ckDispose(mailman) ProcedureReturn EndIf success = CkMailMan::ckSmtpAuthenticate(mailman) If success = 0 Debug CkMailMan::ckLastErrorText(mailman) CkImap::ckDispose(imap) CkMailMan::ckDispose(mailman) ProcedureReturn EndIf Debug "SMTP Success!" CkImap::ckDispose(imap) CkMailMan::ckDispose(mailman) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.