Sample code for 30+ languages & platforms
Lua

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 Lua Downloads

Lua
local chilkat = require("chilkat")

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

local mime = chilkat.Mime.new()

local success = mime:set_body_from_file("VoiceMessage.wav")
if not success then
    print(mime.last_error_text)
    return
end

-- 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 = ""

local strMime = mime:get_mime()
print(strMime)

-- Now load it into an email object:
local email = chilkat.Email.new()
success = email:set_from_mime_text(strMime)
if not success then
    print(email.last_error_text)
    return
end

-- Add subject, TO, FROM, etc.
email.subject = "This is a test"
email.from = "support@chilkatsoft.com"
success = email:add_to("Matt", "matt@chilkatsoft.com")

-- Your email is ready to send.
-- (but for this example, we'll simply save it to a file...)
success = email:save_eml("email.eml")
if not success then
    print(email.last_error_text)
    return
end

print("OK!")