Sample code for 30+ languages & platforms
Dart

Add a MIME Header Field

See more MIME Examples

Demonstrates the Chilkat Mime.AddHeaderField method, which appends a new header field. The first argument is the field name and the second is the value. Existing fields with the same case-insensitive name are preserved, so this can create duplicates.

Background: MIME headers are ordered name/value lines, and some — Received, for instance — legitimately appear more than once. AddHeaderField is the tool for that: it always appends, never replacing an existing field of the same name. When you instead want exactly one field with a given name, use SetHeaderField, which replaces rather than accumulates.

Chilkat Dart Downloads

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

void main() {
  // Demonstrates the Mime.AddHeaderField method, which appends a new header field.  The 1st argument
  // is the field name and the 2nd is the value.  Existing fields with the same (case-insensitive)
  // name are preserved, so this can create duplicate fields.

  final mime = CkMime();

  try {
    mime.setBodyFromPlainText('Hello.');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // Append header fields.  AddHeaderField does not replace existing fields of the same name.
  try {
    mime.addHeaderField('X-Custom-Header', 'value1');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  try {
    mime.addHeaderField('X-Priority', '3');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

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

  print(headers);
}