DataFlex
DataFlex
GMail App Password
See more GMail SMTP/IMAP/POP Examples
Demonstrates how to authenticate using an app password with GMail for IMAP and SMTP.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoImap
Handle hoMailman
String sTemp1
Move False To iSuccess
// 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:
Get Create (RefClass(cComChilkatImap)) To hoImap
If (Not(IsComObjectCreated(hoImap))) Begin
Send CreateComObject of hoImap
End
Set ComSsl Of hoImap To True
Set ComPort Of hoImap To 993
Get ComConnect Of hoImap "imap.gmail.com" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoImap To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComLogin Of hoImap "user@gmail.com" "srnyyvqajocnsvdp" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoImap To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "IMAP Success!"
// For SMTP..
Get Create (RefClass(cComChilkatMailMan)) To hoMailman
If (Not(IsComObjectCreated(hoMailman))) Begin
Send CreateComObject of hoMailman
End
Set ComSmtpHost Of hoMailman To "smtp.gmail.com"
Set ComSmtpUsername Of hoMailman To "user@gmail.com"
Set ComSmtpPassword Of hoMailman To "srnyyvqajocnsvdp"
Set ComSmtpSsl Of hoMailman To True
Set ComSmtpPort Of hoMailman To 465
Get ComSmtpConnect Of hoMailman To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoMailman To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComSmtpAuthenticate Of hoMailman To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoMailman To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "SMTP Success!"
End_Procedure