Sample code for 30+ languages & platforms
Dart

Verify Email Recipients

A way to possibly determine valid/invalid email addresses. I would recommend being very careful about doing this because your IP address may be flagged as a potential spammer by the mail server (because you are probing for valid/invalid email addresses). This Chilkat functionality existed for many years, before this kind of activity became a problem. The functionality remains only because it is useful for some to test with their own SMTP servers.

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();

  // SMTP connection settings...
  mailman.smtpHost = 'smtp.example.com';
  mailman.smtpUsername = 'MY_SMTP_USERNAME';
  mailman.smtpPassword = 'MY_SMTP_PASSWORD';
  mailman.smtpSsl = true;
  mailman.smtpPort = 465;

  // Create a new email object
  final email = CkEmail();

  email.subject = 'This is a test';
  email.body = 'This is a test';
  email.from = 'myemail@example.com';
  email.addTo('person1', 'person1@example.com');
  email.addTo('person2', 'person2@example.com');
  email.addTo('person3', 'person3@example.com');
  // The SMTP server smtp.example.com won't know anything about an email address @somewhere_else.com
  email.addTo('person3', 'person4@somewhere_else.com');
  // ...

  // Verify recipients.
  // **** See the warning about using this API method in the description above.
  // (An SMTP server only knows valid email address for its own domain.  For example,
  // smtp.example.com *may* only know if person1@example.com is valid or invalid, but does
  // not know anything about the validity of email addresses having other domains.)
  final badAddrs = CkStringArray();
  try {
    mailman.verifyRecips(email, badAddrs);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  var i = 0;
  while (i < badAddrs.count) {
    print(badAddrs.getString(i));
    i++;
  }

  print('done.');
}