Sample code for 30+ languages & platforms
Dart

Append Part to MIME

See more MIME Examples

Demonstrates the AppendPart method for adding sub-parts to MIME.

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.

  // Create a text/plain part.
  final ptMime = CkMime();
  ptMime.setBodyFromPlainText('This is the plain text body');
  print(ptMime.getMime());
  print('****');

  // The ptMime contains:
  // ---------------------------------------
  // 	Content-Type: text/plain
  // 	Content-Transfer-Encoding: 7bit
  // 
  // 	This is the plain text body
  // ---------------------------------------

  // Start with an empty MIME object...
  final topLevelMime = CkMime();

  // Initialize it to a multipart Content-Type.  We'll use multipart/mixed.
  topLevelMime.newMultipartMixed();

  // Append the ptMime as a child.
  topLevelMime.appendPart(ptMime);
  print(topLevelMime.getMime());
  print('****');

  // The topLevelMime contains:
  // --------------------------
  // 	Content-Type: multipart/mixed; boundary="------------010907090104040508040404"
  // 
  // 	--------------010907090104040508040404
  // 	Content-Type: text/plain
  // 	Content-Transfer-Encoding: 7bit
  // 
  // 	This is the plain text body
  // 	--------------010907090104040508040404--
  // 

  // IMPORTANT: A copy of the MIME passed in AppendPart is appended.
  // Therefore, in this case, changing ptMime does not change the text/plain sub-part in topLevelMime.
  // For example:
  ptMime.setBody('this is the new plain text body.');
  // topLevelMime is unchanged.
  print(topLevelMime.getMime());
  print('****');

  // To change the content in topLevelMime, we must get the text/plain part.
  // For example:

  final ptMime2 = CkMime();
  topLevelMime.partAt(0, ptMime2);

  ptMime2.setBody('this is the new plain text body.');
  // Now topLevelMime is changed.
  print(topLevelMime.getMime());
}