Sample code for 30+ languages & platforms
Dart

SMTP Connect and Authenticate

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

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

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

  final mailman = CkMailMan();

  mailman.smtpHost = 'smtp.mail.us-west-2.awsapps.com';
  mailman.smtpSsl = true;
  mailman.smtpPort = 465;

  try {
    mailman.smtpConnect();
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  mailman.smtpUsername = 'john@example.com';
  mailman.smtpPassword = 'the_password';

  try {
    mailman.smtpAuthenticate();
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print('Authenticated!');

  print(mailman.smtpSessionLog);

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