Sample code for 30+ languages & platforms
Ruby

SMTP Send Raw Command

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

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

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

mailman = Chilkat::CkMailMan.new()

mailman.put_SmtpHost("smtp.mail.us-west-2.awsapps.com")
mailman.put_SmtpSsl(true)
mailman.put_SmtpPort(465)

success = mailman.SmtpConnect()
if (success == false)
    print mailman.lastErrorText() + "\n";
    exit
end

mailman.put_SmtpUsername("john@example.com")
mailman.put_SmtpPassword("the_password")

success = mailman.SmtpAuthenticate()
if (success == false)
    print mailman.lastErrorText() + "\n";
    exit
end

print "Authenticated!" + "\n";

# 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.get_LastMethodSuccess() == false)
    print mailman.lastErrorText() + "\n";
    exit
end

print responseStr + "\n";

# A sample response:

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