11 Mar 2009 @ 2:26 PM 

So i’ve beena bit quiet about InterIMAP lately, but that doesn’t mean i haven’t been working on it. Today i will be checking in the latest update of the code which includes some really cool functionality, as well as a new IMAPShell project.

Code Updates

  • Added support for retrieving and parsing message structure and content
  • Fix some locking issues in the DataManager to make multi-threading work better
  • Added support for retrieving and updating message flags
  • Added a Log Aggregator that collects the logging information from all worker threads
  • Improved the parsing of email addresses
  • Added support for decoding message content in the correct format
  • Added support to all requests to monitor the amount of data received to facilitate progress indicators
  • Added the FullMessageRequest which will asynchronously retrieve the header, structure and all parts of a message while providing progress indication.
  • Added lots of functionality to the GUITest app including a message viewer to test how a message will appear.

IMAPShell Project

There is a new project in the solution called IMAPShell, and as the name implies, it is a console command shell that allows CLI style interaction with the IMAP library. The goal of the project is to provide a quick and easy way to access message information without having to configure an email client.

It is in its early stages but you can already connect to a server, navigate the directory structure of a mailbox using dir/cd commands and list the messages in a folder using the list command. Command help is fully integrated.

What’s Next

Here is a list of what i will be working on for the next update:

  • Support for creating/deleting folders
  • Support for copying/moving messages
  • Support for saving/loading messages and attachments to a local file
  • Support for easily detecting new messages in any folder

Posted By: atmospherian
Last Edit: 11 Mar 2009 @ 02:26 PM

EmailPermalinkComments (4)
Tags
Tags:
Categories: InterIMAP
 11 Apr 2008 @ 6:33 AM 

Work on the library has been moving along quite nicely. I’ve built a new Visual Studio solution and project structure to better organize the classes and i have finished the basic object model.

The next step is to write a wrapper class that will be the main API users of the library will use to access the underlying functionality. The main goal of the API is to make connecting to an IMAP server and managing the messages stored there as easy and a quickly as possible.

One method that i plan on employing to increase the efficiency is to only fetch the message headers and message bodies when they are requested. This will be handled automatically whenver a property is accessed on either the folder or message object. For instance the first the developer accesses the Messages collection of a folder, first that folder will be examined, and the message headers will be pulled down and stored in the collection. This will give access to the bulk of the messages information. If at that point the content or attachments collection are accessed, then the full body of the message will be downloaded.

Hopefully this method will help to reduce calls to the server for unneeded information and reduce that amount of bandwidth that will be needed for the IMAP client to do its job.

I welcome any comments or criticisms on what i am planning to do. All suggestions will be given serious consideration if the community decides a different way is a better approach.

Posted By: atmospherian
Last Edit: 11 Apr 2008 @ 06:33 AM

EmailPermalinkComments (0)
Tags
Tags:
Categories: Projects
 09 Apr 2008 @ 2:38 PM 

It’s official. I’ve received the blessing of Rohit Joshi to continue his work on his C# IMAP client library he posted over at codeproject.

I’ve created a project at codeplex to host the library and its code. You can find it here: http://www.codeplex.com/InterIMAP

Some major features that i will be adding to the library include:

  • Complete object model for folders, messages, content (including attachments)
  • Support for SSL connections (Complete)
  • Support for saving file attachments to the file system, or any other Stream
  • Support for getting the list of folders on the server and getting the UIDs of the messages in each folder
  • Being able to do all of the above with a few API calls as possible
  • The ability to send a raw IMAP command to the server and retrieve the response. Useful for customizing the behavior of the library.

I am really excited about this opportunity to contribute to the open-source community. Hopefully people will find this library useful and maybe help contribute to it and make better.

Posted By: atmospherian
Last Edit: 09 Apr 2008 @ 02:38 PM

EmailPermalinkComments (0)
Tags
Tags: , , , ,
Categories: C#, Projects
Change Theme...
  • Users » 4
  • Posts/Pages » 25
  • Comments » 29
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight

About Me



    No Child Pages.

Projects



    No Child Pages.

Downloads



    No Child Pages.