Sample code for 30+ languages & platforms
Dart

MIME Multipart Boundary and Preamble Properties

See more MIME Examples

Demonstrates the Boundary property, which gets or sets the raw boundary token of a multipart entity (without surrounding quotation marks), and UseMmDescription, which controls whether the conventional preamble text is emitted when serializing a multipart entity.

Background. A multipart boundary separates the constituent parts. Chilkat quotes the token automatically in the header when required. The preamble is ignored by MIME-aware readers and is off by default.

Chilkat Dart Downloads

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

void main() {
  final mime = CkMime();

  // Create a multipart/mixed entity.
  try {
    mime.newMultipartMixed();
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // Boundary is the raw boundary token, without surrounding quotation marks.  Chilkat quotes it
  // automatically in the serialized header when required.
  mime.boundary = 'example-boundary';

  // UseMmDescription controls whether the conventional preamble text
  // "This is a multi-part message in MIME format." is emitted.  The default is false.
  mime.useMmDescription = true;

  // Add a simple part so the multipart has content.
  final partVar = CkMime();
  try {
    partVar.setBodyFromPlainText('First part.');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  try {
    mime.appendPart(partVar);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print('Boundary = ${mime.boundary}');

  final String mimeStr;
  try {
    mimeStr = mime.getMime();
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print(mimeStr);
}