Sample code for 30+ languages & platforms
Ruby

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

Ruby
require 'chilkat'

success = false

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

mime = Chilkat::CkMime.new()

success = mime.SetBodyFromFile("VoiceMessage.wav")
if (success == false)
    print mime.lastErrorText() + "\n";
    exit
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.put_Disposition("")
mime.put_Filename("")

strMime = mime.getMime()
print strMime + "\n";

# Now load it into an email object:
email = Chilkat::CkEmail.new()
success = email.SetFromMimeText(strMime)
if (success == false)
    print email.lastErrorText() + "\n";
    exit
end

# Add subject, TO, FROM, etc.
email.put_Subject("This is a test")
email.put_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)
    print email.lastErrorText() + "\n";
    exit
end

print "OK!" + "\n";