Sample code for 30+ languages & platforms
PowerBuilder

SMTP Send Raw Command

Demonstrates how to send a raw command to the SMTP server after the connecting and authenticating.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Mailman
string ls_ResponseStr

li_Success = 0

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

loo_Mailman = create oleobject
li_rc = loo_Mailman.ConnectToNewObject("Chilkat.MailMan")
if li_rc < 0 then
    destroy loo_Mailman
    MessageBox("Error","Connecting to COM object failed")
    return
end if

loo_Mailman.SmtpHost = "smtp.mail.us-west-2.awsapps.com"
loo_Mailman.SmtpSsl = 1
loo_Mailman.SmtpPort = 465

li_Success = loo_Mailman.SmtpConnect()
if li_Success = 0 then
    Write-Debug loo_Mailman.LastErrorText
    destroy loo_Mailman
    return
end if

loo_Mailman.SmtpUsername = "john@example.com"
loo_Mailman.SmtpPassword = "the_password"

li_Success = loo_Mailman.SmtpAuthenticate()
if li_Success = 0 then
    Write-Debug loo_Mailman.LastErrorText
    destroy loo_Mailman
    return
end if

Write-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-".
ls_ResponseStr = loo_Mailman.SmtpSendRawCommand("EHLO client.example.com","utf-8",0)
if loo_Mailman.LastMethodSuccess = 0 then
    Write-Debug loo_Mailman.LastErrorText
    destroy loo_Mailman
    return
end if

Write-Debug ls_ResponseStr

// A sample response:

// 250-smtp.us-west-2.mail.awsapps.com
// 250-8BITMIME
// 250-AUTH PLAIN LOGIN
// 250 Ok


destroy loo_Mailman