Sample code for 30+ languages & platforms
Lua

SMTP Connect and Authenticate

Demonstrates how to connect and then authenticate with an SMTP server.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local mailman = chilkat.MailMan.new()

mailman.smtp_host = "smtp.mail.us-west-2.awsapps.com"
mailman.smtp_ssl = true
mailman.smtp_port = 465

local success = mailman:smtp_connect()
if not success then
    print(mailman.last_error_text)
    return
end

mailman.smtp_username = "john@example.com"
mailman.smtp_password = "the_password"

success = mailman:smtp_authenticate()
if not success then
    print(mailman.last_error_text)
    return
end

print("Authenticated!")

print(mailman.smtp_session_log)

-- 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.