FoxPro Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Visual FoxPro Examples

Bounced Mail
Bz2
Character Encoding
CSV
Digital Certificates
Digital Signatures
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
POP3
RSA
S/MIME
Socket
Spider
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression
Self-Extractor

More Examples...
Amazon S3
DKIM / DomainKey
NTLM
RSS
Atom
Byte Array
Service
PPMD
Deflate
DH Key Exchange
DSA
FileAccess
Bzip2
LZW

 

Non-Chilkat Links
Text and String Handling

Scan for Emails with Attachments and Save Attachments to Files

Download 32-bit Chilkat IMAP ActiveX (.msi)

Download All 32-bit Chilkat ActiveX Components (.zip)

Download All 64-bit Chilkat ActiveX Components (.zip)

Scan for emails with attachments and save attachments.

LOCAL loImap
LOCAL lnSuccess
LOCAL loMessageSet
LOCAL lnFetchUids
LOCAL loBundle
LOCAL i
LOCAL loEmail
LOCAL lnNumAttach
LOCAL lcUidStr
LOCAL lnUid
LOCAL loFullEmail
LOCAL j
LOCAL lcFilename

loImap = CreateObject('Chilkat.Imap')

* Anything unlocks the component and begins a fully-functional 30-day trial.
lnSuccess = loImap.UnlockComponent("Anything for 30-day trial")
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loImap.LastErrorText)
    QUIT
ENDIF

* Connect to an IMAP server.
lnSuccess = loImap.Connect("mail.chilkatsoft.com")
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loImap.LastErrorText)
    QUIT
ENDIF

* Login
lnSuccess = loImap.Login("admin@chilkatsoft.com","*myPassword5*")
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loImap.LastErrorText)
    QUIT
ENDIF

* Select an IMAP mailbox
lnSuccess = loImap.SelectMailbox("Inbox")
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loImap.LastErrorText)
    QUIT
ENDIF

* We can choose to fetch UIDs or sequence numbers.

lnFetchUids = 1

* Get the message IDs of all the emails in the mailbox
loMessageSet = loImap.Search("ALL",lnFetchUids)
IF (loMessageSet = NULL ) THEN
    =MESSAGEBOX(loImap.LastErrorText)
    QUIT
ENDIF

* Fetch the email headers into a bundle object:

loBundle = loImap.FetchHeaders(loMessageSet)
IF (loBundle = NULL ) THEN
    RELEASE loMessageSet
    =MESSAGEBOX(loImap.LastErrorText)
    QUIT
ENDIF

* Scan for emails with attachments, and save the attachments
* to a sub-directory.

FOR i = 0 TO loBundle.MessageCount - 1

    loEmail = loBundle.GetEmail(i)

    * Does this email have attachments?
    * Use GetMailNumAttach because the attachments
    * are not actually in the email object because
    * we only downloaded headers.
    * (Had we downloaded the full emails by
    * calling mailman.FetchBundle, we could look
    * at the email object's NumAttachments property.)

    lnNumAttach = loImap.GetMailNumAttach(loEmail)

    IF (lnNumAttach > 0) THEN
        * Download the entire email and save the
        * attachments. (Remember, we
        * need to download the entire email because
        * only the headers were previously downloaded.
        * If the entire emails were downloaded by
        * calling FetchBundle instead of FetchHeaders,
        * this would not be necessary.

        * The ckx-imap-uid header field is added when
        * headers are downloaded.  This makes it possible
        * to get the UID from the email object.

        lcUidStr = loEmail.GetHeaderField("ckx-imap-uid")

        lnUid = VAL(lcUidStr)

        loFullEmail = loImap.FetchSingle(lnUid,1)
        IF (NOT (loFullEmail = NULL )) THEN
            loFullEmail.SaveAllAttachments("attachmentsDir")
            RELEASE loFullEmail
        ENDIF

        FOR j = 0 TO lnNumAttach - 1

            lcFilename = loImap.GetMailAttachFilename(loEmail,j)
            ? lcFilename
        NEXT

    ENDIF

    RELEASE loEmail
NEXT

* Disconnect from the IMAP server.
loImap.Disconnect()

RELEASE loMessageSet
RELEASE loBundle

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · ASP Mail Component · XML Parser