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
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:
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.
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:
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.

Categories
Tag Cloud
Blog RSS
Comments RSS

Void « Default
Life
Earth
Wind
Water
Fire
Light 