Sample code for 30+ languages & platforms
Node.js

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 Node.js Downloads

Node.js
NODEJS_PRELUDE

function chilkatExample() {

    var success = false;

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

    var mime = new chilkat.Mime();

    success = mime.SetBodyFromFile("VoiceMessage.wav");
    if (success == false) {
        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 = "";

    var strMime;
    strMime = mime.GetMime();
    console.log(strMime);

    // Now load it into an email object:
    var email = new chilkat.Email();
    success = email.SetFromMimeText(strMime);
    if (success == false) {
        console.log(email.LastErrorText);
        return;
    }

    // Add subject, TO, FROM, etc.
    email.Subject = "This is a test";
    email.From = "support@chilkatsoft.com";
    success = email.AddTo("Matt","matt@chilkatsoft.com");

    // Your email is ready to send.
    // (but for this example, we'll simply save it to a file...)
    success = email.SaveEml("email.eml");
    if (success == false) {
        console.log(email.LastErrorText);
        return;
    }

    console.log("OK!");

}

chilkatExample();