VBScript Examples

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

VBScript Examples

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

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

 

 

 

 

 

 

 

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.

Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set outFile = fso.CreateTextFile("output.txt", True)

set imap = CreateObject("Chilkat.Imap")

' Anything unlocks the component and begins a fully-functional 30-day trial.
success = imap.UnlockComponent("Anything for 30-day trial")
If (success <> 1) Then
    MsgBox imap.LastErrorText
    WScript.Quit
End If

' Connect to an IMAP server.
success = imap.Connect("mail.chilkatsoft.com")
If (success <> 1) Then
    MsgBox imap.LastErrorText
    WScript.Quit
End If

' Login
success = imap.Login("admin@chilkatsoft.com","*myPassword5*")
If (success <> 1) Then
    MsgBox imap.LastErrorText
    WScript.Quit
End If

' Select an IMAP mailbox
success = imap.SelectMailbox("Inbox")
If (success <> 1) Then
    MsgBox imap.LastErrorText
    WScript.Quit
End If

' We can choose to fetch UIDs or sequence numbers.
fetchUids = 1

' Get the message IDs of all the emails in the mailbox
Set messageSet = imap.Search("ALL",fetchUids)
If (messageSet Is Nothing ) Then
    MsgBox imap.LastErrorText
    WScript.Quit
End If

' Fetch the email headers into a bundle object:

Set bundle = imap.FetchHeaders(messageSet)
If (bundle Is Nothing ) Then

    MsgBox imap.LastErrorText
    WScript.Quit
End If

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

For i = 0 To bundle.MessageCount - 1

    Set email = bundle.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.)
    numAttach = imap.GetMailNumAttach(email)

    If (numAttach > 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.
        uidStr = email.GetHeaderField("ckx-imap-uid")
        uid = CLng(uidStr)

        Set fullEmail = imap.FetchSingle(uid,1)
        If (Not (fullEmail Is Nothing )) Then
            fullEmail.SaveAllAttachments "attachmentsDir"

        End If

        For j = 0 To numAttach - 1
            filename = imap.GetMailAttachFilename(email,j)
            outFile.WriteLine(filename)
        Next

    End If

Next

' Disconnect from the IMAP server.
imap.Disconnect 


outFile.Close

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

Mail Component · XML Parser