VB.NET Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CUnicode C++Unicode CMFCDelphi DLLDelphi ActiveXFoxProJavaPerlPHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

VB.NET Examples

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

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

Byte Array
VB.NET FTPS
System.IO

 

 

 

 

 

 

Scan for Emails with Attachments and Save Attachments to Files

Download: Chilkat .NET Assemblies

Scan for emails with attachments and save attachments.

Dim imap As New Chilkat.Imap()

Dim success As Boolean

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


' Connect to an IMAP server.
success = imap.Connect("mail.chilkatsoft.com")
If (success <> true) Then
    MsgBox(imap.LastErrorText)
    Exit Sub
End If


' Login
success = imap.Login("admin@chilkatsoft.com","*myPassword5*")
If (success <> true) Then
    MsgBox(imap.LastErrorText)
    Exit Sub
End If


' Select an IMAP mailbox
success = imap.SelectMailbox("Inbox")
If (success <> true) Then
    MsgBox(imap.LastErrorText)
    Exit Sub
End If



Dim messageSet As Chilkat.MessageSet
' We can choose to fetch UIDs or sequence numbers.
Dim fetchUids As Boolean
fetchUids = true

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


' Fetch the email headers into a bundle object:
Dim bundle As Chilkat.EmailBundle
bundle = imap.FetchHeaders(messageSet)
If (bundle Is Nothing ) Then

    MsgBox(imap.LastErrorText)
    Exit Sub
End If


' Scan for emails with attachments, and save the attachments
' to a sub-directory.
Dim i As Long
For i = 0 To bundle.MessageCount - 1
    Dim email As Chilkat.Email
    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.)
    Dim numAttach As Long
    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.
        Dim uidStr As String
        uidStr = email.GetHeaderField("ckx-imap-uid")
        Dim uid As Long
        uid = CLng(uidStr)

        Dim fullEmail As Chilkat.Email
        fullEmail = imap.FetchSingle(uid,true)
        If (Not (fullEmail Is Nothing )) Then
            fullEmail.SaveAllAttachments("attachmentsDir")

        End If


        Dim j As Long
        For j = 0 To numAttach - 1
            Dim filename As String
            filename = imap.GetMailAttachFilename(email,j)
            TextBox1.Text = TextBox1.Text & filename & vbCrLf
            TextBox1.Refresh()
        Next

    End If


Next

' Disconnect from the IMAP server.
imap.Disconnect()



 

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