Go
Go
Process Large POP3 Mailbox
Demonstrates how to read email from a mailbox that may contain a large number of emails.Chilkat Go Downloads
success := false
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
mailman := chilkat.NewMailMan()
mailman.SetMailHost("pop.example.com")
mailman.SetPopUsername("myLogin")
mailman.SetPopPassword("myPassword")
mailman.SetMailPort(995)
mailman.SetPopSsl(true)
// Get the list of UIDLs for all emails in the mailbox.
stUidls := chilkat.NewStringTable()
success = mailman.FetchUidls(stUidls)
if success == false {
fmt.Println(mailman.LastErrorText())
mailman.DisposeMailMan()
stUidls.DisposeStringTable()
return
}
// Download each email by UIDL.
email := chilkat.NewEmail()
count := stUidls.Count()
i := 0
for i < count {
// Download the full email.
uidl := stUidls.StringAt(i)
success = mailman.FetchByUidl(*uidl,false,0,email)
if success == false {
fmt.Println(mailman.LastErrorText())
mailman.DisposeMailMan()
stUidls.DisposeStringTable()
email.DisposeEmail()
return
}
fmt.Println(i)
fmt.Println("UIDL: ", *uidl)
fmt.Println("From: ", email.From())
fmt.Println("Subject: ", email.Subject())
i = i + 1
}
mailman.Pop3EndSession()
mailman.DisposeMailMan()
stUidls.DisposeStringTable()
email.DisposeEmail()