- Products
- Purchase
Order Online Maintenance Renewal Resellers - Support
Helpdesk Online Documentation Web Forum - Our Clients
- About
About us Services Contact
From AfterLogic Wiki
This sample connects to IMAP4 server, logs in e-mail account, selects "Inbox" folder and downloads new messages.
Unlike POP3, IMAP4 protocol remembers which messages have been already downloaded. This makes it easy to determine which messages are new.
Note: If e-mail account is accessed by multiple mail agents, IMAP4's new messages detection won't work: messages not yet received by one mail agent can be already received (and marked as old on the server) by another mail agent. In other words, when the same message can be new for one mail agent and old for another, your app should not rely on IMAP4 new messages detection. In this case, you can use the same approach as for POP3 protocol (see Search for new messages POP3 sample).
Dim objIMAP4, objMsg, arrNew, I ' Create IMAP4 object Set objIMAP4 = CreateObject("MailBee.IMAP4") ' Enable logging IMAP4 session into a file objIMAP4.EnableLogging = True objIMAP4.LogFilePath = "C:\imap4_log.txt" ' Unlock IMAP4 object objIMAP4.LicenseKey = "put your license key here" ' Set IMAP4 server name objIMAP4.ServerName = "mail.server.com" ' Set user credentials objIMAP4.UserName = "username" objIMAP4.Password = "password" ' Connect to the server and ' log in email account If objIMAP4.Connect Then ' Select Inbox folder If objIMAP4.SelectMailbox("Inbox") Then ' Get Unique-IDs of new messages arrNew = objIMAP4.Search(True, "new") If Not objIMAP4.IsError Then ' Loop through new messages For I = LBound(arrNew) To UBound(arrNew) ' Completely retrieve message by its Unique-ID Set objMsg = objIMAP4.RetrieveSingleMessage(arrNew(I), True) If Not objIMAP4.IsError Then ' Display message body MsgBox objMsg.BodyText Else ' Display error information MsgBox "Error #" & objIMAP4.ErrCode & ", " & _ objIMAP4.ErrDesc End If Next Else ' Display error information MsgBox "Error #" & objIMAP4.ErrCode & ", " & _ objIMAP4.ErrDesc End If Else ' Display error information MsgBox "Error #" & objIMAP4.ErrCode MsgBox "Server response: " & objIMAP4.ServerResponse End If ' Close the connection objIMAP4.Disconnect Else ' Display error information MsgBox "Error #" & objIMAP4.ErrCode MsgBox "Server response: " & objIMAP4.ServerResponse End If
<% Dim objIMAP4, objMsg, arrNew, I ' Create IMAP4 object Set objIMAP4 = Server.CreateObject("MailBee.IMAP4") ' Enable logging IMAP4 session into a file objIMAP4.EnableLogging = True objIMAP4.LogFilePath = "C:\imap4_log.txt" ' Unlock IMAP4 object objIMAP4.LicenseKey = "put your license key here" ' Set IMAP4 server name objIMAP4.ServerName = "mail.server.com" ' Set user credentials objIMAP4.UserName = "username" objIMAP4.Password = "password" ' Connect to the server and ' log in email account If objIMAP4.Connect Then ' Select Inbox folder If objIMAP4.SelectMailbox("Inbox") Then ' Get Unique-IDs of new messages arrNew = objIMAP4.Search(True, "new") If Not objIMAP4.IsError Then ' Loop through new messages For I = LBound(arrNew) To UBound(arrNew) ' Completely retrieve a message by its Unique-ID Set objMsg = objIMAP4.RetrieveSingleMessage(arrNew(I), True) If Not objIMAP4.IsError Then ' Display message body Response.Write objMsg.BodyText & "<br>" Else ' Display error information Response.Write "Error #" & objIMAP4.ErrCode & ", " & _ objIMAP4.ErrDesc & "<br>" End If Next Else ' Display error information Response.Write "Error #" & objIMAP4.ErrCode & ", " & _ objIMAP4.ErrDesc End If Else ' Display error information Response.Write "Error #" & objIMAP4.ErrCode & "<br>" Response.Write "Server response: " & objIMAP4.ServerResponse End If ' Close the connection objIMAP4.Disconnect Else ' Display error information Response.Write "Error #" & objIMAP4.ErrCode & "<br>" Response.Write "Server response: " & objIMAP4.ServerResponse End If %>
See Also:
Search Method