Sample code for 30+ languages & platforms
Dart

SMTP Send Raw Command

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

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!');

  // 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-".
  final String responseStr;
  try {
    responseStr = mailman.smtpSendRawCommand('EHLO client.example.com', 'utf-8', false);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print(responseStr);

  // A sample response:

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