Swift
Swift
Delete Individual Emails from POP3 Mailbox
Demonstrates how to delete individual emails from a POP3 mailbox.Chilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example assumes 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.
let mailman = CkoMailMan()!
// Set the POP3 server's hostname
mailman.mailHost = "pop.example.com"
// Set the POP3 login/password.
mailman.popUsername = "myLogin"
mailman.popPassword = "myPassword"
// Set the ImmediateDelete property = false
// When the DeleteEmail method is called, the POP3 session
// will remain open and the emails will be deleted all at once
// when the session closes.
mailman.immediateDelete = false
// Download email headers.
let bundle = CkoEmailBundle()!
var keepOnServer: Bool = true
var headersOnly: Bool = true
var numBodyLines: Int = 1
success = mailman.fetchAll(keepOnServer: keepOnServer, headersOnly: headersOnly, numBodyLines: numBodyLines, bundle: bundle)
if success == false {
print("\(mailman.lastErrorText!)")
return
}
let email = CkoEmail()!
var i: Int = 0
while i < bundle.messageCount.intValue {
bundle.email(at: i, email: email)
print("From: \(email.from!)")
print("Subject: \(email.subject!)")
// If you decide the email is to be deleted, call DeleteEmail.
// This marks the email for deletion on the POP3 server.
success = mailman.deleteEmail(email: email)
if success == false {
print("\(mailman.lastErrorText!)")
return
}
i = i + 1
}
// Make sure the POP3 session is ended to finalize the deletes.
success = mailman.pop3EndSession()
if success == false {
print("\(mailman.lastErrorText!)")
return
}
print("Success!")
}