Go
Go
SMTP Send Raw Command
Demonstrates how to send a raw command to the SMTP server after the connecting and authenticating.Chilkat Go Downloads
success := false
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
mailman := chilkat.NewMailMan()
mailman.SetSmtpHost("smtp.mail.us-west-2.awsapps.com")
mailman.SetSmtpSsl(true)
mailman.SetSmtpPort(465)
success = mailman.SmtpConnect()
if success == false {
fmt.Println(mailman.LastErrorText())
mailman.DisposeMailMan()
return
}
mailman.SetSmtpUsername("john@example.com")
mailman.SetSmtpPassword("the_password")
success = mailman.SmtpAuthenticate()
if success == false {
fmt.Println(mailman.LastErrorText())
mailman.DisposeMailMan()
return
}
fmt.Println("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 := mailman.SmtpSendRawCommand("EHLO client.example.com","utf-8",false)
if mailman.LastMethodSuccess() == false {
fmt.Println(mailman.LastErrorText())
mailman.DisposeMailMan()
return
}
fmt.Println(*responseStr)
// A sample response:
// 250-smtp.us-west-2.mail.awsapps.com
// 250-8BITMIME
// 250-AUTH PLAIN LOGIN
// 250 Ok
mailman.DisposeMailMan()