Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicPythonRubySQL ServerSwiftTclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.js

Visual Basic 6.0 Examples

Async
Certificates
ECC
Email Object
Encryption
FTP
HTML-to-XML/Text
Gzip
HTTP
IMAP
JSON
MHT / HTML Email
PEM
PFX/P12
Java KeyStore (JKS)
POP3
RSA Encryption
MIME
REST
SCP
SMTP
Socket/SSL/TLS
SSH Key
SSH
SFTP
Stream
Tar Archive
XML
XMP
Zip

More Examples...
Google APIs
Google Cloud Storage
Azure Cloud Storage
Amazon S3 (new)
Google Drive
ASN.1
PRNG
Amazon S3
Bounced Email
CSV
Diffie-Hellman
DKIM / DomainKey
DSA
NTLM
QuickBooks

 

 

 

 

 

 

 

(Visual Basic 6.0) Scan for Emails with Attachments and Save Attachments to Files

Scan for emails with attachments and save attachments.

Chilkat ActiveX Downloads

ActiveX for 32-bit and 64-bit Windows

Dim imap As New ChilkatImap

Dim success As Long

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

'  Connect to an IMAP server.
'  Use TLS
imap.Ssl = 1
imap.Port = 993
success = imap.Connect("imap.someMailServer.com")
If (success <> 1) Then
    Text1.Text = Text1.Text & imap.LastErrorText & vbCrLf
    Exit Sub
End If

'  Login
success = imap.Login("myLogin","myPassword")
If (success <> 1) Then
    Text1.Text = Text1.Text & imap.LastErrorText & vbCrLf
    Exit Sub
End If

'  Select an IMAP mailbox
success = imap.SelectMailbox("Inbox")
If (success <> 1) Then
    Text1.Text = Text1.Text & imap.LastErrorText & vbCrLf
    Exit Sub
End If

Dim messageSet As MessageSet
'  We can choose to fetch UIDs or sequence numbers.
Dim fetchUids As Long
fetchUids = 1

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

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

    Text1.Text = Text1.Text & imap.LastErrorText & vbCrLf
    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 ChilkatEmail
    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.)
    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 ChilkatEmail
        Set fullEmail = imap.FetchSingle(uid,1)
        If (Not (fullEmail Is Nothing )) Then
            success = fullEmail.SaveAllAttachments("attachmentsDir")

        End If

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

    End If

Next

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


 

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