Sample code for 30+ languages & platforms
Dart

Open a Persistent SMTP Connection

See more SMTP Examples

Demonstrates the Chilkat MailMan.OpenSmtpConnection method, which explicitly opens a connection to the SMTP server and authenticates if a username and password, OAuth2 token, or other applicable settings have been provided. This example opens the connection, notes where sending would occur, and closes it.

Background: By default, sending a single email opens a connection, sends, and closes it. When sending many messages, that per-message overhead adds up. Explicitly calling OpenSmtpConnection once, sending in a loop, then CloseSmtpConnection keeps a single authenticated session open for the whole batch — substantially faster and gentler on the server than reconnecting each time.

Chilkat Dart Downloads

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

void main() {
  // Demonstrates the MailMan.OpenSmtpConnection method, which explicitly opens a connection
  // to the SMTP server and authenticates if credentials (or an OAuth2 token) have been
  // provided.

  final mailman = CkMailMan();

  // Configure the SMTP server connection.
  mailman.smtpHost = 'smtp.example.com';
  mailman.smtpPort = 465;
  mailman.smtpSsl = true;
  mailman.smtpUsername = 'user@example.com';
  mailman.smtpPassword = 'myPassword';

  // Explicitly open (and authenticate) the SMTP connection.

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

  print('SMTP connection opened.');

  // ... send one or more emails here ...

  // Close the connection when done.
  try {
    mailman.closeSmtpConnection();
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }
}