Sample code for 30+ languages & platforms
Dart

SMTP Inspection

See more SMTP Examples

Examine an SMTP session to view all communications sent to the SMTP server.

Chilkat Dart Downloads

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

void main() {
  final mailman = CkMailMan();

  mailman.smtpHost = 'smtp.example.com';
  mailman.smtpUsername = 'myUsername';
  mailman.smtpPassword = 'myPassword';

  mailman.smtpPort = 465;
  mailman.startTLS = true;

  final email = CkEmail();

  email.subject = 'This is a test';
  email.body = 'This is a test';
  email.from = 'Alex <alex@example.com>';
  email.addTo('Christoph', 'christoph@example2.com');
  email.addBcc('Victor', 'victor@example3.com');

  // Generate the MIME that is sent when SendEmail is called
  final mimeStr = mailman.renderToMime(email);
  print(mimeStr);

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

  try {
    mailman.closeSmtpConnection();
  } on ChilkatException {
    print('Connection to SMTP server not closed cleanly.');
  }

  // Examine the SMTP session log.
  print('----');
  print('Smtp Session Log:');
  print(mailman.smtpSessionLog);

  // ---------------------------------------------------
  // Sample output:
  // ---------------------------------------------------

  // MIME-Version: 1.0
  // Date: Fri, 06 Mar 2026 16:21:00 -0600
  // Message-ID: <A5DC25990C93EC2676F4FBB2BB3BFA9EB34FF9D3@CHILKAT25>
  // Content-Type: text/plain; charset=us-ascii; format=flowed
  // Content-Transfer-Encoding: 7bit
  // X-Priority: 3 (Normal)
  // Subject: This is a test
  // From: Alex <alex@example.com>
  // To: Christoph <christoph@example2.com>
  // Bcc: Victor <victor@example3.com>
  // 
  // This is a test
  // ----
  // Smtp Session Log:
  // 220 smtp.example.com ESMTP Amazon WorkMail SMTP Service
  // EHLO MYCOMPUTER<CRLF>
  // 250-smtp.example.com
  // 250-8BITMIME
  // 250-AUTH PLAIN LOGIN
  // 250 Ok
  // AUTH LOGIN<CRLF>
  // 334 VXNlcm5hbWU6
  // YWRtaW5AY2hpbGthdHNvZnQuY29t<CRLF>
  // 334 UGFzc3dvcmQ6
  // {PasswordOrCredentials}
  // 235 Authentication successful.
  // MAIL FROM:<alex@example.com><CRLF>
  // 250 Ok
  // RCPT TO:<christoph@example2.com><CRLF>
  // 250 Ok
  // RCPT TO:<victor@example3.com><CRLF>
  // 250 Ok
  // DATA<CRLF>
  // 354 End data with <CR><LF>.<CR><LF>
  // {388 bytes} <--- The MIME source of the email (examined via RenderToMime) was sent here.
  // <CRLF>.<CRLF>
  // 250 Ok
  // QUIT<CRLF>
  // 221 Bye
}