Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
Read IMAP Email Headers
Call FetchHeaders to download only the email headers.
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("****","****") 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 ' messageSet is a Chilkat.MessageSet Set messageSet = imap.Search("ALL",fetchUids) If (messageSet Is Nothing ) Then MsgBox imap.LastErrorText WScript.Quit End If ' When downloading headers, each email object contains ' (obviously) the headers, but the body will be missing. ' Also, attachments will not be included. However, it is ' possible to get information about the attachments ' as well as the complete size of the email. ' bundle is a Chilkat.EmailBundle2 Set bundle = imap.FetchHeaders(messageSet) If (bundle Is Nothing ) Then MsgBox imap.LastErrorText WScript.Quit End If ' Loop over the email objects and display information ' about each: For i = 0 To bundle.MessageCount - 1 ' email is a Chilkat.Email2 Set email = bundle.GetEmail(i) ' Display the From and Subject outFile.WriteLine(email.From) outFile.WriteLine(email.Subject) ' Display the recipients: For j = 0 To email.NumTo - 1 name = email.GetToName(j) addr = email.GetToAddr(j) outFile.WriteLine(name & ", " & addr) Next For j = 0 To email.NumCC - 1 name = email.GetCcName(j) addr = email.GetCcAddr(j) outFile.WriteLine(name & ", " & addr) Next ' Show the total size of the email, including body and attachments: outFile.WriteLine(email.Size) ' When a full email is downloaded, we would use the ' email.NumAttachments property in conjunction with the ' email.GetMailAttach* methods. ' However, when an email object contains only the header, ' we need to access the attachment info differently: numAttach = imap.GetMailNumAttach(email) For j = 0 To numAttach - 1 outFile.WriteLine(imap.GetMailAttachFilename(email,j)) attachSize = imap.GetMailAttachSize(email,j) outFile.WriteLine(" size = " & attachSize _ & " bytes") Next outFile.WriteLine("--") Next ' Disconnect from the IMAP server. imap.Disconnect outFile.Close |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.