Send in your ideas. Deadline June 1, 2024

Last update: 2004-01-12

End: 2003-01

Mail::Box phase 2 project plan

software for e-mail handling in Perl

Mark A.C.J. Overmeer,

During the first phase of the NLnet Foundation's support for the Mail::Box module --an e-mail handling library for the Perl programming language-- the module improved considerably. This first phase covered 65 days, and ran from May 2002 until January 2003

This project plan describes a follow-up to Mail::Box phase 1 with a second phase, to improve the quality of the module even further. This project plan describes the actions as agreed upon for this second (and last) phase of the Mail::Box sponsoring.


NLnet Foundation agrees to sponsor Mark Overmeer --the developer of Mail::Box-- to achieve the goals mentioned in this chapter. During the project, the progress is evaluated every two months which may lead to change of plans.

User support

[9 days] E-mail support for users of the module consumes between one and two hours per day. A part of this effort is sponsored by NLnet during phase 2 of the project, and the rest is seen as voluntary contribution by the developer.

Replacing old modules

[3 days] The best way to get people to convert their existing applications to a new module (in this case Mail::Box) is to make this task as easy as possible for them. They must see a clear benefit of this conversion, and by chance convert without much effort.
Both approaches will be taken: there will be a document which describes the differences with some existing modules as conversion guideline, and there will be some extra code to mimic the behavior of the other modules to reduce the conversion effort.


[2 days] The existing examples from man-pages, FAQ, contributed scripts, and mailing list will be reorganized to create a kind of code base. It will help people understand the basics of the module faster than is achieved by reading manual pages. The allocated time is used to create a structure to contain these examples.

IMAP4 support

[10 days] Phase One of the project had a target to get someone implement IMAP4 folder support. This plan failed mainly because the IMAP4 protocol is large and complicated. IMAP4 support is not easy to realize as a voluntary activity, because it looks too much like real work.
Therefore, in phase 2 the developer of Mail::Box will implement the extension himself. Hopefully other people will contribute simpler folder extensions meanwhile.

Outlook support

[2 days] Since recently, an Open Source library can be used to read Outlook DBX files even on UNIX. The Perl wrapper around this library will be used to support read-only access. This extension will simplify the move from Windows to Unix/Linux because the personal mail-archives can be converted easily with Mail::Box.

Database folders

[2 days] Quite a few people want to use Mail::Box to parse messages, and then store the contained information in a database. An implementation to simplify this process is probably not useful, because everyone has a different organization within the database. The commonality between the implementations will be too small to justify a module. Therefore, the documentation will be extended to demonstrate and discuss alternatives.

Unicode support

[5 days] Use of Unicode within e-mail gains popularity very fast, especially now the Internet is flooded with new users from non-Western nations. Unicode support is not that easy, because all non-ASCII characters must be encoded into ASCII strings.
Although full support for Unicode will take considerable more time than five days, the NLnet Foundation sees only limited use for their target community. The support will therefore be primarily used to facilitate the needs for spam filters based on Mail::Box.

Mailing list construction

[3 days] On the moment, support for handling of fields for mailing lists is lacking: people who need it have to implement it themselves. An implementation of the related RFCs will be added to the module.

Browser support

[3 days] Mail::Box already contains some pieces which simplify the conversion from messages to HTML. These possibilities will be extended in such a way that building web mail clients with Mail::Box get simple.

Signing and Encryption

[3 days] Planned is to have Mail::Box work with the OpenPGP module, which implements various authentication and encryption algorithms. Besides, various checksum algorithms will be supported as well.


[8 days] The promotion for Mail::Box will be intensified. It is not yet clear which plans can be realized, but the general ideas are listed below. The NLnet Foundation contributes eight days in total and expenses.

German Perl Workshop

The yearly low-cost Perl users meeting in Bonn, Germany. This workshop already took place March 5 till 7 2003, so before this project plan was written. About 130 --mainly German-- Perl programmers took part in this three days workshop. All participants listened to all talks, because there is only one track. Mark contributed one e-mail BoF session and 4 talks.

YAPC::Europe, July 23-25 in Paris

At least one tutorial about Mail::Box will be submitted to this low-cost conference.


One American conference will be used to attract more American users for the module. O'Reilly's Open Source Conference (OSCON2003, also named The Perl Conference 7) is an expensive, business oriented conference which is not easy to enter as speaker. The YAPC North-America is again a low-cost informal meeting.

Publication in LinuxJournal

Contact is established with LinuxJournal to publish an introduction on the use of the module. The existing introductory story on the module will be reworked to contain a little more explanation about the Perl language.

Articles in NetProfessional

The Dutch magazine NetProfessional has asked Mark to contribute some articles about Perl, probably Mail::Box related. The shape this will get, the exact subject of the articles, and the level of skills of the audience are currently being discussed.


The components of development phase 2 are not time sensitive --except the conferences, of course. The plans are to be realized between March 1 and October 31, 2003.

To summarize the activities:

User support 9 days
Replacing old modules 3 days
Documentation 2 days
IMAP4 support 10 days
Outlook support 2 days
Database folders 2 days
Unicode support 5 days
Mailing list headers 3 days
Browser support 3 days
Signing and encryption 3 days
Promotion 8 days

Total budget: 50 days

Project Mail::Box

Navigate projects