Visual FoxPro
Visual FoxPro
IMAP Download All Email One at a Time
Demonstrates how to download every email in an IMAP mailbox one at a time as a MIME string or as an email object. (The MIME contains the full contents of the email including all attachments.)Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loImap
LOCAL lnBUid
LOCAL lcMimeStr
LOCAL i
LOCAL n
LOCAL loEmail
lnSuccess = 0
loImap = CreateObject('Chilkat.Imap')
* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
* Connect to an IMAP server.
* Use TLS
loImap.Ssl = 1
loImap.Port = 993
lnSuccess = loImap.Connect("imap.example.com")
IF (lnSuccess = 0) THEN
? loImap.LastErrorText
RELEASE loImap
CANCEL
ENDIF
* Login
lnSuccess = loImap.Login("myLogin","myPassword")
IF (lnSuccess = 0) THEN
? loImap.LastErrorText
RELEASE loImap
CANCEL
ENDIF
* Select an IMAP mailbox
lnSuccess = loImap.SelectMailbox("Inbox")
IF (lnSuccess = 0) THEN
? loImap.LastErrorText
RELEASE loImap
CANCEL
ENDIF
* Once the mailbox is selected, the NumMessages property
* will contain the number of messages in the mailbox.
* You may loop from 1 to NumMessages to
* fetch each message by sequence number.
lnBUid = 0
n = loImap.NumMessages
FOR i = 1 TO n
* Download the email by sequence number.
lcMimeStr = loImap.FetchSingleAsMime(i,lnBUid)
* ... your application may process each MIME string...
NEXT
* An alternative is to download each email in the form of an
* email object, like this:
loEmail = CreateObject('Chilkat.Email')
FOR i = 1 TO n
* Download the email by sequence number.
lnSuccess = loImap.FetchEmail(0,i,lnBUid,loEmail)
* ... your application may process the email object...
NEXT
* Disconnect from the IMAP server.
lnSuccess = loImap.Disconnect()
RELEASE loImap
RELEASE loEmail