Sample code for 30+ languages & platforms
PowerBuilder

Save Email Attachments to Filesystem

Saves email attachments to a directory.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Email
integer i

li_Success = 0

loo_Email = create oleobject
li_rc = loo_Email.ConnectToNewObject("Chilkat.Email")
if li_rc < 0 then
    destroy loo_Email
    MessageBox("Error","Connecting to COM object failed")
    return
end if

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

li_Success = loo_Email.LoadEml("HtmlEmail.eml")
if li_Success <> 1 then
    Write-Debug loo_Email.LastErrorText
    destroy loo_Email
    return
end if

// 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.
loo_Email.OverwriteExisting = 1

// 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.
li_Success = loo_Email.SaveAllAttachments("myAttachments")
if li_Success <> 1 then
    Write-Debug loo_Email.LastErrorText
    destroy loo_Email
    return
end if

// List the attachment filenames:

for i = 0 to loo_Email.NumAttachments - 1
    Write-Debug loo_Email.GetAttachmentFilename(i)
next


destroy loo_Email