Sample code for 30+ languages & platforms
React Native

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 React Native Downloads

React Native
import { Email, Mime } from '@chilkat/react-native'

function chilkatExample() {
  // This example requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const mime = new Mime();

  try {
    mime.setBodyFromFile('VoiceMessage.wav');
  } catch {
    console.log(mime.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 = '';

  const strMime = mime.getMime();
  console.log(strMime);

  // Now load it into an email object:
  const email = new Email();
  try {
    email.setFromMimeText(strMime);
  } catch {
    console.log(email.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');
  } catch {
    console.log(email.lastErrorText);
    return;
  }

  console.log('OK!');
}