VBScript Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++DelphiFoxProJavaPerlPythonRubySQL ServerVBScript

VBScript Examples

Bounced Mail
Character Encoding
Digital Certificates
Digital Signatures
Email
FTP
HTML-to-XML
HTTP
IMAP
Encryption
MHT / HTML Email
PFX
RSA Encryption
S/MIME
Socket
Spider
String
Tar
Upload
XML
XMP
Zip Compression
Self-Extractor

More Examples...
Email Object
POP3
SMTP
Byte Array
RSS
Atom

Unreleased...
Service
PPMD
Deflate
Bzip2
LZW
Bz2
DH Key Exchange
DSA
Icon

 

 

 

 

 

 

 

Process Large POP3 Mailbox

Demonstrates how to read email from a mailbox that may contain a large number of emails (on the order of thousands of emails or more).

Download Chilkat Email ActiveX for POP3 / SMTP

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

'  The mailman object is used for receiving (POP3)
'  and sending (SMTP) email.
set mailman = CreateObject("Chilkat.MailMan2")

'  Any string argument automatically begins the 30-day trial.
success = mailman.UnlockComponent("30-day trial")
If (success <> 1) Then
    MsgBox "Component unlock failed"
    WScript.Quit
End If

'  Set the POP3 server's hostname
mailman.MailHost = "mail.chilkatsoft.com"

'  Set the POP3 login/password.
mailman.PopUsername = "myLogin"
mailman.PopPassword = "myPassword"

'  First, get the list of UIDLs for all emails in the mailbox.

Set sa = mailman.GetUidls()

numEmails = sa.Count

'  Download the emails in chunks of 10 emails each.
chunkBeginIdx = 0
chunkEndIdx = 9
If (chunkEndIdx >= numEmails) Then
    chunkEndIdx = numEmails - 1
End If

set saChunk = CreateObject("Chilkat.CkStringArray")
Do While (chunkEndIdx < (numEmails - 1))

    '  Build a chunk of 10 UIDLs.
    saChunk.Clear 
    For i = chunkBeginIdx To chunkEndIdx
        saChunk.Append sa.GetString(i)
    Next

    '  Display the UIDLs in this chunk...

    chunkStr = saChunk.SaveToText()
    outFile.WriteLine(chunkStr)
    outFile.WriteLine("----" & vbCrLf)

    '  Download this chunk of email from the POP3 server.

    Set bundle = mailman.FetchMultiple(saChunk)
    If (bundle Is Nothing ) Then
        MsgBox mailman.LastErrorText
        WScript.Quit
    End If

    '  Process the bundle...
    '  (your application's processing code goes here...)

    '  Get the next chunk...
    chunkBeginIdx = chunkBeginIdx + 10
    If (chunkBeginIdx >= numEmails) Then
        Exit Do
    End If

    chunkEndIdx = chunkEndIdx + 10
    If (chunkEndIdx >= numEmails) Then
        chunkEndIdx = numEmails - 1
    End If

Loop


outFile.Close

Need a specific example? Send a request to support@chilkatsoft.com

© 2003-2007 Chilkat Software, Inc. All Rights Reserved.

Mail Component · XML Parser