A free, easy-to-use and well-documented .NET library component for communicating with IMAP servers
C#
Latest commit 874de53 Jan 27, 2014 @smiley22 Deal with comments, unit tests
- Deal with comments + unit tests.
- Version 3.6.0.0
Permalink
Failed to load latest commit information.
Auth Support for .NET 3.5 Jan 19, 2014
Bodystructure Use InnerException to get the original error. Nov 23, 2013
Properties Deal with comments, unit tests Jan 27, 2014
Tests Deal with comments, unit tests Jan 27, 2014
.gitattributes initial commit Aug 15, 2012
.gitignore Minor Bugfix SetAddressFields Sep 22, 2012
AuthMethod.cs Bugfix EventDispatcher Jan 21, 2014
Examples.md Markdown woes Jan 16, 2014
Examples.xml API changes, refactoring Jan 16, 2014
Exceptions.cs Refactoring, Cleanup, Comments Jan 17, 2014
FetchOptions.cs Refactoring, Cleanup, Comments Jan 17, 2014
IImapClient.cs Bugfix IdleLoop Jan 20, 2014
IdleErrorEventArgs.cs Bugfix IdleLoop Jan 20, 2014
IdleMessageEventArgs.cs Bugfix IdleLoop Jan 20, 2014
ImapClient.cs Bugfix EventDispatcher Jan 21, 2014
License.md Bugfix BuildHeader Jan 11, 2014
MIMEPart.cs Refactoring, Cleanup, Comments Jan 17, 2014
MailMessage.cs Deal with comments, unit tests Jan 27, 2014
MailboxFlags.cs Refactoring, Cleanup, Comments Jan 17, 2014
MailboxInfo.cs Refactoring, Cleanup, Comments Jan 17, 2014
MailboxQuota.cs Refactoring, Cleanup, Comments Jan 17, 2014
MailboxStatus.cs Refactoring, Cleanup, Comments Jan 17, 2014
MessageBuilder.cs Deal with comments, unit tests Jan 27, 2014
MessageFlags.cs Refactoring, Cleanup, Comments Jan 17, 2014
Readme.md Deal with comments, unit tests Jan 27, 2014
S22.Imap.csproj Bugfix IdleLoop Jan 20, 2014
S22.Imap.sln Change TargetFrameworkVersion to 4.0 to run tests in VS2010 Mar 2, 2013
SafeQueue.cs Refactoring, Cleanup, Comments Jan 17, 2014
SearchCondition.cs Support for .NET 3.5 Jan 19, 2014
Util.cs Improved handling of encoded-words Jan 24, 2014

Readme.md

Introduction

This repository contains an easy-to-use and well-documented .NET assembly for communicating with and receiving electronic mail from an Internet Message Access Protocol (IMAP) server.

Downloads

You can always get the latest package on Nuget (includes .NET 4.0 and 3.5 binaries) or download the binaries (targeting .NET 4.0) as a .zip archive from here. The documentation is also available for offline viewing as HTML or CHM and can be downloaded from here and here, respectively.

Usage & Examples

To use the library add the S22.Imap.dll assembly to your project references in Visual Studio. Here's a simple example that initializes a new instance of the ImapClient class and connects to Gmail's IMAP server:

using System;
using S22.Imap;

namespace Test {
	class Program {
		static void Main(string[] args) {
			// Connect on port 993 using SSL.
			using (ImapClient Client = new ImapClient("imap.gmail.com", 993, true))
			{
				Console.WriteLine("We are connected!");
			}
		}
	}
}

Here are a couple of examples of how to use the library. Please also see the documentation for further details on using the classes and methods exposed by the S22.Imap namespace.

Features

  • Supports IMAP IDLE notifications
  • Supports IMAP over SSL
  • API designed to be very easy to use
  • Allows selectively fetching parts of mail messages
  • Inherently thread-safe
  • Well documented with lots of example code
  • Robust MIME parser, tested with 100.000+ mails
  • Supports various authentication mechanisms (SCRAM-SHA-1, OAUTH2, NTLM among others)
  • Integrates well with existing System.Net.Mail infrastructure
  • Still supports .NET 3.5
  • Free to use in commercial and personal projects (MIT license)

Credits

This library is copyright © 2012-2014 Torben Könke.

Parts of this library are based on the AE.Net.Mail project (copyright © 2012 Andy Edinborough).

License

This library is released under the MIT license.

Bug reports

Please send your bug reports to smileytwentytwo@gmail.com or create a new issue on the GitHub project homepage.