Sample code for 30+ languages & platforms
Go Requires Chilkat v11.0.0+

Download POP3 Email to MIME

Download the email from a POP3 mailbox directly into MIME, without parsing into email objects.

Chilkat Go Downloads

Go
    success := false

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

    //  The mailman object is used for receiving (POP3) 
    //  and sending (SMTP) email.
    mailman := chilkat.NewMailMan()

    //  Set the POP3 server's hostname
    mailman.SetMailHost("pop.example.com")

    //  Set the POP3 login/password.
    mailman.SetPopUsername("myLogin")
    mailman.SetPopPassword("myPassword")

    //  First, get the complete set of UIDLs for the email in the POP3 mailbox:
    stUidls := chilkat.NewStringTable()
    success = mailman.FetchUidls(stUidls)
    if success == false {
        fmt.Println(mailman.LastErrorText())
        mailman.DisposeMailMan()
        stUidls.DisposeStringTable()
        return
    }

    //  Download each email as MIME.
    //  If desired, the MIME can be loaded into an email object.
    bdMime := chilkat.NewBinData()
    email := chilkat.NewEmail()

    count := stUidls.Count()
    i := 0
    for i < count {
        success = mailman.FetchMimeBd(*stUidls.StringAt(i),bdMime)
        if success == false {
            fmt.Println(mailman.LastErrorText())
            mailman.DisposeMailMan()
            stUidls.DisposeStringTable()
            bdMime.DisposeBinData()
            email.DisposeEmail()
            return
        }

        email.SetFromMimeBd(bdMime)
        fmt.Println("From: ", email.From())
        fmt.Println("Subject: ", email.Subject())

        i = i + 1
    }


    mailman.DisposeMailMan()
    stUidls.DisposeStringTable()
    bdMime.DisposeBinData()
    email.DisposeEmail()