DataFlex
DataFlex
Download POP3 Email using UIDLs
Demonstrates how to download POP3 email by first getting the complete set of UIDLs and then downloading email by calling FetchByUIDL for each UIDL.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoMailman
Variant vStUidls
Handle hoStUidls
Variant vEmail
Handle hoEmail
Integer iCount
Integer i
String sTemp1
Move False To iSuccess
// This example requires 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.
Get Create (RefClass(cComChilkatMailMan)) To hoMailman
If (Not(IsComObjectCreated(hoMailman))) Begin
Send CreateComObject of hoMailman
End
// Set the POP3 server's hostname
Set ComMailHost Of hoMailman To "pop.example.com"
// Set the POP3 login/password.
Set ComPopUsername Of hoMailman To "myLogin"
Set ComPopPassword Of hoMailman To "myPassword"
Get Create (RefClass(cComChilkatStringTable)) To hoStUidls
If (Not(IsComObjectCreated(hoStUidls))) Begin
Send CreateComObject of hoStUidls
End
Get pvComObject of hoStUidls to vStUidls
Get ComFetchUidls Of hoMailman vStUidls To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoMailman To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatEmail)) To hoEmail
If (Not(IsComObjectCreated(hoEmail))) Begin
Send CreateComObject of hoEmail
End
Get ComCount Of hoStUidls To iCount
Move 0 To i
While (i < iCount)
// Download the full email.
Get ComStringAt Of hoStUidls i To sTemp1
Get pvComObject of hoEmail to vEmail
Get ComFetchByUidl Of hoMailman sTemp1 False 0 vEmail To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoMailman To sTemp1
Showln sTemp1
Procedure_Return
End
Showln i
Get ComFrom Of hoEmail To sTemp1
Showln "From: " sTemp1
Get ComSubject Of hoEmail To sTemp1
Showln "Subject: " sTemp1
Move (i + 1) To i
Loop
Get ComPop3EndSession Of hoMailman To iSuccess
End_Procedure