Sample code for 30+ languages & platforms
Dart

Create Email with Non-Standard Binary Body

Creates an email where the only body is a binary WAV file. The technique used in the example could be applied to other binary files, such as PDF, MS-WORD docs, Excel docs, etc.

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.

  final mime = CkMime();

  try {
    mime.setBodyFromFile('VoiceMessage.wav');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // The MIME has this header:
  // Content-Disposition: attachment;
  // 	 filename="VoiceMessage.wav"
  // Content-Transfer-Encoding: base64
  // Content-Type: audio/x-wav;
  // 	name="VoiceMessage.wav"

  // We don't want the content-disposition to be an
  // attachment -- otherwise the email object will self-correct
  // and put it in a multipart/mixed format...
  mime.disposition = '';
  mime.filename = '';

  final strMime = mime.getMime();
  print(strMime);

  // Now load it into an email object:
  final email = CkEmail();
  try {
    email.setFromMimeText(strMime);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // Add subject, TO, FROM, etc.
  email.subject = 'This is a test';
  email.from = 'support@chilkatsoft.com';
  email.addTo('Matt', 'matt@chilkatsoft.com');

  // Your email is ready to send.
  // (but for this example, we'll simply save it to a file...)
  try {
    email.saveEml('email.eml');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print('OK!');
}