Sample code for 30+ languages & platforms
Dart Requires Chilkat v11.0.0+

Parsing a Multipart/Digest Email

See more Email Object Examples

This example demonstrates how to parse a multipart/digest email. An email parsed by this sample could have a MIME structure as follows:
multipart/mixed
    text/plain
    text/plain
    multipart/digest
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
    text/plain

Chilkat Dart Downloads

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

void main() {
  final emlPath = 'qa_data/eml/multipart_digest.eml';

  final email = CkEmail();

  // For this example, we'll load the email from a .eml.
  // The email could alternatively be loaded as a result of downloading from an IMAP or POP3 server..

  try {
    email.loadEml(emlPath);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final numDigests = email.numDigests;
  print('num digests = $numDigests');

  final eDigest = CkEmail();
  var i = 0;
  while (i < numDigests) {
    email.getDigestEmail(i, eDigest);
    print('$i:${eDigest.fromAddress}, ${eDigest.subject}');
    try {
      final m = eDigest.getHeaderField('Message');
      print('    Message = $m');
    } on ChilkatException {
      // eDigest.getHeaderField() failed; continue anyway.
    }

    i++;
  }
}