Skip to content
This repository

C# POP/IMAP Mail Client

branch: master
Octocat-spinner-32 .nuget updates January 29, 2013
Octocat-spinner-32 Imap add UIDValidity support September 02, 2013
Octocat-spinner-32 Properties bump version September 03, 2013
Octocat-spinner-32 Tests test fix March 20, 2014
Octocat-spinner-32 .gitignore Fix for GetMessages only returning 1 message February 17, 2012
Octocat-spinner-32 AE.Net.Mail.csproj some refactoring March 20, 2014
Octocat-spinner-32 AE.Net.Mail.nuspec Fix for improperly filtering attachments as attachments instead of al… February 08, 2013
Octocat-spinner-32 AE.Net.Mail.sln Added unit tests, fix for GMail July 11, 2011
Octocat-spinner-32 AE.Net.Mail.vsmdi Added unit tests, fix for GMail July 11, 2011
Octocat-spinner-32 AlternateViewCollection.cs Fix for improperly filtering attachments as attachments instead of al… February 08, 2013
Octocat-spinner-32 Attachment.cs some refactoring March 20, 2014
Octocat-spinner-32 Create-Package.ps1 add .net 4.5.1 as a target; move AuthMethods enum March 20, 2014
Octocat-spinner-32 HeaderDictionary.cs some refactoring March 20, 2014
Octocat-spinner-32 HeaderObject.cs some refactoring March 20, 2014
Octocat-spinner-32 HeaderValue.cs some refactoring March 20, 2014
Octocat-spinner-32 IMailClient.cs Remove Debug.Assert in favor of a warning event; closes #110 March 07, 2013
Octocat-spinner-32 ImapClient.cs add .net 4.5.1 as a target; move AuthMethods enum March 20, 2014
Octocat-spinner-32 ImapClientException.cs update formatting March 20, 2014
Octocat-spinner-32 ImapClientExceptionEventArgs.cs update formatting March 20, 2014
Octocat-spinner-32 Local.testsettings Added unit tests, fix for GMail July 11, 2011
Octocat-spinner-32 Logo.png add log; updated nuspec January 14, 2011
Octocat-spinner-32 MailMessage.cs fix unbroken while-loop April 04, 2014
Octocat-spinner-32 Pop3Client.cs Remove Debug.Assert in favor of a warning event; closes #110 March 07, 2013
Octocat-spinner-32 README.md adding MIT license March 09, 2012
Octocat-spinner-32 SafeDictionary.cs some refactoring March 20, 2014
Octocat-spinner-32 TextClient.cs cleanup March 21, 2014
Octocat-spinner-32 TraceAndTestImpact.testsettings Added unit tests, fix for GMail July 11, 2011
Octocat-spinner-32 Utilities.cs some refactoring March 20, 2014
Octocat-spinner-32 WarningEventArgs.cs Remove Debug.Assert in favor of a warning event; closes #110 March 07, 2013
README.md

AE.Net.Mail

A C# POP/IMAP client library

Background

These are text-based services... it's not that hard, and yet all the projects I found out there were nasty, bloated, and severely error prone. So, I rebuilt one. This is based heavily on xemail-net. I simplified it quite a bit, and created standard methods for repeated code blocks and implemented a base class to simplify the creation of the Pop3 client.

Sample Usage

IMAP

 using(var imap = new AE.Net.Mail.ImapClient(host, username, password, AE.Net.Mail.ImapClient.AuthMethods.Login, port, isSSL)) {
    var msgs = imap.SearchMessages(
      SearchCondition.Undeleted().And(
        SearchCondition.From("david"), 
        SearchCondition.SentSince(new DateTime(2000, 1, 1))
      ).Or(SearchCondition.To("andy"))
    );

    Assert.AreEqual(msgs[0].Value.Subject, "This is cool!");

    imap.NewMessage += (sender, e) => {
      var msg = imap.GetMessage(e.MessageCount - 1);
      Assert.AreEqual(msg.Subject, "IDLE support?  Yes, please!");
    };
}

POP

 using(var pop = new AE.Net.Mail.Pop3Client(host, username, password, port, isSSL)) {
   for(var i = pop.GetMessageCount() - 1; i >= 0; i--){
      var msg = pop.GetMessage(i, false);
      Assert.AreEqual(msg.Subject, "Standard API between different protocols?  Yes, please!");
      pop.DeleteMessage(i); //WE DON'T NEED NO STINKIN' EMAIL!
   }
}

License

http://andyedinborough.mit-license.org/

Something went wrong with that request. Please try again.