Sample code for 30+ languages & platforms
Go

Zip an Email's Attachments into One File

See more Email Object Examples

Demonstrates the Chilkat Email.ZipAttachments method, which replaces all of an email's attachments with a single Zip file attachment having the specified filename. The original attachments are removed and packed into the Zip. This example adds two attachments and zips them into one.

Background: Bundling multiple attachments into a single .zip keeps a message tidy, compresses the payload, and works around recipients or gateways that limit the number of attachments. Note that the filename here (files.zip) names the attachment inside the message — it is not a path on disk. The reverse operation is UnzipAttachments.

Chilkat Go Downloads

Go
    success := false

    //  Demonstrates the ZipAttachments method, which replaces all of an email's attachments
    //  with a single Zip file attachment having the specified filename.  The original
    //  attachments are removed and packed into the Zip.

    email := chilkat.NewEmail()
    email.SetSubject("Zip the attachments")

    email.AddStringAttachment("a.txt","first attachment")
    email.AddStringAttachment("b.txt","second attachment")
    fmt.Println("NumAttachments before = ", email.NumAttachments())

    //  Replace all attachments with a single Zip attachment named "files.zip".
    success = email.ZipAttachments("files.zip")
    if success == false {
        fmt.Println(email.LastErrorText())
        email.DisposeEmail()
        return
    }

    fmt.Println("NumAttachments after = ", email.NumAttachments())

    email.DisposeEmail()