Go
Go
Download MIME Source of Emails in IMAP Mailbox
Demonstrates how to download the MIME source for emails on an IMAP server.Chilkat Go Downloads
success := false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
imap := chilkat.NewImap()
// Connect to an IMAP server.
// Use TLS
imap.SetSsl(true)
imap.SetPort(993)
success = imap.Connect("imap.example.com")
if success == false {
fmt.Println(imap.LastErrorText())
imap.DisposeImap()
return
}
// Login
success = imap.Login("myLogin","myPassword")
if success == false {
fmt.Println(imap.LastErrorText())
imap.DisposeImap()
return
}
// Select an IMAP mailbox
success = imap.SelectMailbox("Inbox")
if success == false {
fmt.Println(imap.LastErrorText())
imap.DisposeImap()
return
}
// The NumMessages property contains the number of messages in the selected mailbox.
numMessages := imap.NumMessages()
if numMessages == 0 {
fmt.Println("No messages exist in the Inbox.")
imap.DisposeImap()
return
}
sbMime := chilkat.NewStringBuilder()
var seqNum int
for seqNum = 1; seqNum <= numMessages; seqNum++ {
sbMime.Clear()
success = imap.FetchSingleAsMimeSb(seqNum,false,sbMime)
if success == false {
fmt.Println(imap.LastErrorText())
imap.DisposeImap()
sbMime.DisposeStringBuilder()
return
}
// The MIME source of the downloaded email is contained in sbMime.
}
// Disconnect from the IMAP server.
success = imap.Disconnect()
imap.DisposeImap()
sbMime.DisposeStringBuilder()