Sample code for 30+ languages & platforms
Rust

SMTP Connect and Authenticate

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

Chilkat Rust Downloads

Rust

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

let mailman = chilkat::MailMan::new();

mailman.set_smtp_host("smtp.mail.us-west-2.awsapps.com");
mailman.set_smtp_ssl(true);
mailman.set_smtp_port(465);

if mailman.smtp_connect().is_err() {
    println!("{}", mailman.last_error_text());
    return;
}

mailman.set_smtp_username("john@example.com");
mailman.set_smtp_password("the_password");

if mailman.smtp_authenticate().is_err() {
    println!("{}", mailman.last_error_text());
    return;
}

println!("Authenticated!");

println!("{}", 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.