PureBasic
PureBasic
SMTP Connect and Authenticate
Demonstrates how to connect and then authenticate with an SMTP server.Chilkat PureBasic Downloads
IncludeFile "CkMailMan.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
mailman.i = CkMailMan::ckCreate()
If mailman.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkMailMan::setCkSmtpHost(mailman, "smtp.mail.us-west-2.awsapps.com")
CkMailMan::setCkSmtpSsl(mailman, 1)
CkMailMan::setCkSmtpPort(mailman, 465)
success = CkMailMan::ckSmtpConnect(mailman)
If success = 0
Debug CkMailMan::ckLastErrorText(mailman)
CkMailMan::ckDispose(mailman)
ProcedureReturn
EndIf
CkMailMan::setCkSmtpUsername(mailman, "john@example.com")
CkMailMan::setCkSmtpPassword(mailman, "the_password")
success = CkMailMan::ckSmtpAuthenticate(mailman)
If success = 0
Debug CkMailMan::ckLastErrorText(mailman)
CkMailMan::ckDispose(mailman)
ProcedureReturn
EndIf
Debug "Authenticated!"
Debug CkMailMan::ckSmtpSessionLog(mailman)
; Sample session log:
; 220 smtp.us-west-2.mail.awsapps.com ESMTP Amazon WorkMail SMTP Service
; EHLO SLICE<CRLF>
; 250-smtp.us-west-2.mail.awsapps.com
; 250-8BITMIME
; 250-AUTH PLAIN LOGIN
; 250 Ok
; AUTH LOGIN<CRLF>
; 334 VXNlcm5hbWU6
; am9obkBleGFtcGxlLmNvbQ==<CRLF>
; 334 UGFzc3dvcmQ6
; {PasswordOrCredentials}
; 235 Authentication successful.
CkMailMan::ckDispose(mailman)
ProcedureReturn
EndProcedure