Sample code for 30+ languages & platforms
Dart

Count the Attached Messages in an Email

See more Email Object Examples

Demonstrates the read-only Chilkat Email.NumAttachedMessages property, which is the number of embedded emails represented by message/rfc822 MIME parts. These are counted separately from ordinary attachments and related items, and their indexes are zero-based. This example builds an inner email, attaches it to an outer email as a nested message, and prints the count.

Background: When you "forward as attachment," many mail clients embed the original message as a complete nested email rather than quoting its text. In MIME this appears as a message/rfc822 part — an entire email (its own headers and body) tucked inside the carrier message. Chilkat distinguishes three kinds of enclosed content: ordinary attachments (NumAttachments), inline related items (NumRelatedItems), and these nested messages (NumAttachedMessages). Use GetAttachedEmail to pull an embedded message into its own Email object.

Chilkat Dart Downloads

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

void main() {
  // Demonstrates the read-only Email.NumAttachedMessages property, which is the
  // number of embedded emails (message/rfc822 MIME parts) contained in the email.

  // Create an inner email that we'll attach as a complete nested message.
  final innerEmail = CkEmail();
  innerEmail.subject = 'I am an attached message';
  innerEmail.body = 'This entire email is nested inside another email.';
  innerEmail.from = 'alice@example.com';
  innerEmail.addTo('Bob', 'bob@example.com');

  // Create the outer email and attach the inner email directly as a
  // message/rfc822 part.  AttachEmail attaches a copy of the inner email.
  final email = CkEmail();
  email.subject = 'Outer email with an attached message';
  email.body = 'See the attached email.';
  email.attachEmail(innerEmail);

  print('NumAttachedMessages = ${email.numAttachedMessages}');
}