Ineternet Message Access Protocol, more commonly known as IMAP, is a protocol used for accessing email message on a mail server. Although not as common as POP3, IMAP is vastly superior. Along with a host of other features, IMAP allows for mail folder and mail message management. More information about IMAP can be found in the following RFCs
INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4
INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1
INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1
aspNetIMAP seamlessly implements the IMAP4 and IMAP4rev1 protocols, for the Microsoft .NET framework. aspNetIMAP consists of two libraries (aspNetIMAP and aspNetMime), that are used by software developers to create IMAP aware applications. These libraries, also commonly referred to as assemblies or dlls, are written in 100% managed code, and do not have any COM dependencies. Based upon the same architecture utilized by Advanced Intellect's other products, you can count on aspNetIMAP's stability and speed.
aspNetIMAP offers unsurpassed functionality. Although the following is a short list of features, we recommend you download the evaluation version, and peruse the help file for more complete examples.
What's New in aspNetIMAP version 3?
aspNetIMAP runs under all releases of .NET.
aspNetIMAP now supports the IDLE command. This allows you to wait for the IMAP server to notify you when messages have been received, rather than actively polling for new messages.
Added OAuth Support
aspNetIMAP now supports the OAuth authentication protocol, for better flexibility and delegated authorization.
Added OAuth Support for Gmail
We’ve also added Gmail specific classes that support the OAuth protocol. Authenticate against Gmail with only a few lines of code.
Better BodyStructure Parsing
Expanded the BodyStructure parsing routine to account for rare literal line length structures.
Modified the Append() method to be more friendly towards Microsoft Exchange and it's CrLf requirements.
Added support for the ID command.
Added NTLM Challenge authentication support for Microsoft Exchange servers.
Support for the Cram-MD5 authentication protocol, for better flexibility and security.
Added the AppendUID functionality for those servers that support RFC 2359.
Better Tag Support
Exposed the TagLength property to allow the developer to specify the length of Tags to be used in communicating with the IMAP server.
Better Non-RFC Support
Expanded the internal flexibility of aspNetIMAP to handle non-RFC internal date responses.
Expanded the search capabilities of aspNetIMAP to better search against those IMAP servers that support RFC searching.
Local End Point Capability
Exposed support for the developer to specify the local endpoint of network calls.
Expanded serialization support to the MessageSet and Proxy classes.
Created an exposed a MimeEnvelope class for those developers wanting to create a summary of Mime messages, commonly used in web applications.
Added the capability for aspNetIMAP to issues sorting commands against those servers that support sorting.
Specifically Fetch Message Bodies
aspNetIMAP now has the capability to download only the message body you want to download. Be it HTML, Plain Text or even RTF. No longer do you have to request the entire lengthy message, including possibly large attachments. Simply specify the body content-type, and only that body part will be returned.
With the release of the AdvancedIntellect.Ssl.dll, aspNetIMAP now support secure SSL connections. With as little as 2 additional lines of code you can enable your application to securely communicate with your mail server. The AdvancedIntellect.Ssl.dll can be downloaded from http://www.advancedintellect.com/download.aspx at no charge.
Do you require Socks 4 or 5 proxy support to communicate through your company's proxy server? aspNetIMAP now includes a complete proxy class to control various proxy server settings.
Custom Command Execution
Does your server extend the IMAP protocol? Do you need to issue custom IMAP commands? We've added support for non RFC commands.
If your IMAP server supports the QUOTA and QUOTAROOT extensions, now you can control administrative quotas using aspNetIMAP.
Better UniqueId Support
We've added even more options for requesting a message's unique id. You can now return the UniqueId in a message's DataTable for return trips to the IMAP server.
More Encoding Options
Now aspNetIMAP can HTML the data returned from the IMAP servers. No longer do you have to loop through your messages and be sure they are properly encoded for display on web pages. aspNetIMAP will do that for you with a single optional setting.
Better Folder Support
Check for non-existant folders. Check for folders named in various charactersets on the same server. aspNetIMAP has been optimized internally for unique folder names and manipulation.
Better Non-ASCII Support
aspNetIMAP has even better support for non-ASCII characters and folder names. We've fixed a number of internal bugs where higher encoding languages are used for various IMAP calls.
aspNetIMAP now allows partially trusted callers to make requests into the aspNetIMAP.dll. This option allows it to be hosted under the ASP.NET 2.0 runtime.
Better Debugging and Troubleshooting
We've added even more logging statements to be written to the debug log for easier troubleshooting. If you run into a problem using aspNetIMAP, simply enable logging, and read the log in any text reader. You may not even need to contact Advanced Intellect for support. Suggestions are found right in the log file.
We are always optimizing aspNetIMAP to run faster than before. Some new features include internal binary searching to parse data. Rather than using CPU intensive string searching, aspNetIMAP using binary array searching for better application performance. aspNetIMAP has also added better checking for non RFC compliant mail servers. Due to the complexity of the IMAP protocol, very few IMAP servers are 100 percent compliant. We've made adjustments to be as flexible as possible without sacrificing performance.
Besides those features, aspNetIMAP still includes the following great feature list.
IMAP Connection Management
- Complete Logging Capabilities
- Send Log entries to the Trace Context
- Mask the Username and Password credentials from being logged
- Load Configuration Settings from your web.config
- Change Server Ports
- Control Network Encodings
- Control Network Timeouts
IMAP Folder Management
- Create Folders
- Delete Folders
- Rename Folders
- Select Folders
- Open as Readonly
- Subscribe/Unsubscribe to Folders
- Download Folders as a DataTable
- Download Folders as a DataSet
- Download Folders as an Array
- Download Folders as Xml
- Complete Management by Ordinal or Unique Indexes
- Append Messages
- Delete Messages
- Cancel Pending Deletes
- Copy Messages
- Move Messages
- Retrieve Message Dates
- Mark/Unmark Messages as Answered
- Mark/Unmark Messages as Draft
- Mark/Unmark Messages as Flagged
- Mark/Unmark Messages as Read
- Mark/Unmark Messages as Recent
- Complete DNSbl Message Spam Checking
- Retrieve Message Properties
Advanced Message Retrieval Properties
- Fetch Headers
- Fetch Message Parts
- Fetch Attachments by Name
- Fetch Attachments by Index
- Fetch the Mime Structure of the Message
- Fetch Message Envelopes
- Fetch Partial Headers
- Fetch Partial Messages
- Retrieve only New Messages
- Search Message Dates
- Search Message Subjects
- Search Message Bodies
- Search Message Headers
- Search Message To, CC, and BCC Addresses
- Search Old Messages
- Search New Messages
- Search Seen Messages
- Search Flagged Messages
And many, many more options, too numerous to list. We recommend you browse our help file at http://www.aspNetIMAP.com/help/ for more information and examples.