Sample code for 30+ languages & platforms
Ruby

Save Email Attachments to Filesystem

Saves email attachments to a directory.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

email = Chilkat::CkEmail.new()

#  Load an email object containing attachments.
#  This .eml can be downloaded from:
#  http://www.example-code.com/testData/HtmlEmail.eml

success = email.LoadEml("HtmlEmail.eml")
if (success != true)
    print email.lastErrorText() + "\n";
    exit
end

#  If OverwriteExisting is turned on, files with the same
#  name are overwritten.  If turned off, new/unique filenames
#  are automatically generated.  The filenames actually saved
#  are accessible via the GetAttachmentFilename method.
email.put_OverwriteExisting(true)

#  Save all attachments to the "myAttachments" subdirectory
#  found under the calling process's current working directory.
#  This directory is automatically created if it does not already
#  exist.
success = email.SaveAllAttachments("myAttachments")
if (success != true)
    print email.lastErrorText() + "\n";
    exit
end

#  List the attachment filenames:

for i in 0 .. email.get_NumAttachments() - 1
    print email.getAttachmentFilename(i) + "\n";
end