DataFlex
DataFlex
Read iCloud Email Account using IMAP
See more IMAP Examples
Demonstrates how to set the IMAP settings for an iCloud email account and downloads the email from Inbox.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoImap
Variant vEmail
Handle hoEmail
Integer i
Integer n
Boolean iBUid
String sTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatImap)) To hoImap
If (Not(IsComObjectCreated(hoImap))) Begin
Send CreateComObject of hoImap
End
// Connect to the iCloud IMAP Mail Server
Set ComSsl Of hoImap To True
Set ComPort Of hoImap To 993
Get ComConnect Of hoImap "imap.mail.me.com" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoImap To sTemp1
Showln sTemp1
Procedure_Return
End
// The username is usually the name part of your iCloud email address
// (for example, emilyparker, not emilyparker@icloud.com).
Get ComLogin Of hoImap "ICLOUD_USERNAME" "ICLOUD_PASSWORD" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoImap To sTemp1
Showln sTemp1
Procedure_Return
End
// Select an IMAP folder/mailbox
Get ComSelectMailbox Of hoImap "Inbox" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoImap To sTemp1
Showln sTemp1
Procedure_Return
End
// Once the folder/mailbox is selected, the NumMessages property
// will contain the number of emails in the mailbox.
// Loop from 1 to NumMessages to fetch each email by sequence number.
Get Create (RefClass(cComChilkatEmail)) To hoEmail
If (Not(IsComObjectCreated(hoEmail))) Begin
Send CreateComObject of hoEmail
End
Get ComNumMessages Of hoImap To n
Move False To iBUid
For i From 1 To n
// Download the email by sequence number.
Get pvComObject of hoEmail to vEmail
Get ComFetchEmail Of hoImap False i iBUid vEmail To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoImap To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComFrom Of hoEmail To sTemp1
Showln i ": " sTemp1
Get ComSubject Of hoEmail To sTemp1
Showln " " sTemp1
Showln "-"
Loop
// Disconnect from the IMAP server.
Get ComDisconnect Of hoImap To iSuccess
Showln "Success."
// Sample output:
// 1: iCloud <noreply@email.apple.com>
// Welcome to iCloud Mail.
// -
// 2: "Chilkat Software" <support@chilkatsoft.com>
// This is a test
// -
// Success.
End_Procedure