Sample code for 30+ languages & platforms
Go

Save Email Attachments to Filesystem

Saves email attachments to a directory.

Chilkat Go Downloads

Go
    success := false

    email := chilkat.NewEmail()

    //  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 {
        fmt.Println(email.LastErrorText())
        email.DisposeEmail()
        return
    }

    //  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.SetOverwriteExisting(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 {
        fmt.Println(email.LastErrorText())
        email.DisposeEmail()
        return
    }

    //  List the attachment filenames:
    var i int
    for i = 0; i <= email.NumAttachments() - 1; i++ {
        fmt.Println(*email.GetAttachmentFilename(i))
    }


    email.DisposeEmail()