PureBasic
PureBasic
SMTP Send Raw Command
Demonstrates how to send a raw command to the SMTP server after the connecting and authenticating.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!"
; Send the "EHLO" command again to get the multi-line response that includes the SMTP capabilities.
; The capabilities are the lines in the response that begin with "250-".
responseStr.s = CkMailMan::ckSmtpSendRawCommand(mailman,"EHLO client.example.com","utf-8",0)
If CkMailMan::ckLastMethodSuccess(mailman) = 0
Debug CkMailMan::ckLastErrorText(mailman)
CkMailMan::ckDispose(mailman)
ProcedureReturn
EndIf
Debug responseStr
; A sample response:
; 250-smtp.us-west-2.mail.awsapps.com
; 250-8BITMIME
; 250-AUTH PLAIN LOGIN
; 250 Ok
CkMailMan::ckDispose(mailman)
ProcedureReturn
EndProcedure