Receiving message headers from POP3 server (Part
2)
Detecting attachments
Summary: Highlights detecting
whether the message has attachments when only message headers are available.
Tutorial map:
Part 1 - Downloading the list of
messages
Part 2 - Detecting attachments
Part 3 - Retrieve a few body lines
along with the headers
When displaying message list to user, it's common to show paper-clip for messages
with attachments.
The POP3 protocol (unlike IMAP4) does not provide a mechanism to preview attachments.
Fortunately, most messages with attachments have some specifics in their headers.
This allows MailBee to detect attachments even if only message headers are available.
Message.HasAttachments
property returns True if the message has one or more attachments.
However, Message.HasAttachments property is not 100% accurate: in rare
cases, message headers do not conform to message contents.
100% reliable way to detect attachments is to download the message completely.
For complete messages, Message.HasAttachments property is 100% accurate.
Sample code description
The sample code below fills ListBox control with the information regarding
attachments presense for each message in the mailbox.
Code example:
' You can place the code below into any Sub or Function of your app Dim objPOP3, colMsgs, I, strInfo Set objPOP3 = CreateObject("MailBee.POP3") objPOP3.LicenseKey = "put your license key here" ' Connect to POP3 server If objPOP3.Connect("mail.server.com", 110, "user", "pass") Then ' Download headers for all messages Set colMsgs = objPOP3.RetrieveHeaders If objPOP3.IsError Then ' Handle errors MsgBox "Error #" & objPOP3.ErrCode & ", " & objPOP3.ErrDesc Else For I = 1 To objPOP3.MessageCount ' Add message number to string strInfo = "Message #" & I ' Detect attachment presence and ' add the results to string If colMsgs(I).HasAttachments Then strInfo = strInfo & " has attachment(s)" Else strInfo = strInfo & " has no attachment(s)" End If ' Display string with the results in ListBox List1.AddItem strInfo Next End If objPOP3.Disconnect Else ' Handle errors MsgBox "Error #" & objPOP3.ErrCode & ", " & objPOP3.ErrDesc End If
See Also:
Part
3 (Retrieve a few body lines along with the headers)
RetrieveHeaders Method
Message.HasAttachments Property
Copyright © 2002-2024, AfterLogic Corporation. All rights reserved.