README
README.md
1# distribution Mail-Box
2
3 * My extended documentation: <http://perl.overmeer.net/CPAN/>
4 * Development via GitHub: <https://github.com/markov2/perl5-Mail-Box>
5 * Download from CPAN: <ftp://ftp.cpan.org/pub/CPAN/authors/id/M/MA/MARKOV/>
6 * Indexed from CPAN: <https://metacpan.org/release/Mail-Box>
7
8The MailBox suite is large, and contains various (partially optional)
9modules. This component organizing email message *storage*. All the
10mail-by-mail *processing* is covered by the Mail-Message distrubution.
11Sending emails can be found in Mail-Transport... and there is more.
12
13Start reading with Mail::Box-Overview and Mail::Box-Index.
14Browseable documentation at <http://perl.overmeer.net/mailbox/>
15
16## Development → Release
17
18Important to know, is that I use an extension on POD to write the manuals.
19The "raw" unprocessed version is visible on GitHub. It will run without
20problems, but does not contain manual-pages.
21
22Releases to CPAN are different: "raw" documentation gets removed from
23the code and translated into real POD and clean HTML. This reformatting
24is implemented with the OODoc distribution (A name I chose before OpenOffice
25existed, sorry for the confusion)
26
27Clone from github for the "raw" version. For instance, when you want
28to contribute a new feature.
29
30On github, you can find the processed version for each release. But the
31better source is CPAN; to get it installed simply run:
32
33```sh
34 cpan -i Mail::Box
35```
36
37## Contributing
38
39When you want to contribute to this module, you do not need to provide
40a perfect patch... actually: it is nearly impossible to create a patch
41which I will merge without modification. Usually, I need to adapt the
42style of code and documentation to my own strict rules.
43
44When you submit an extension, please contribute a set with
45
461. code
47
482. code documentation
49
503. regression tests in t/
51
52**Please note:**
53When you contribute in any way, you agree to transfer the copyrights to
54Mark Overmeer (you will get the honors in the code and/or ChangeLog).
55You also automatically agree that your contribution is released under
56the same license as this project: licensed as perl itself.
57
58## Copyright and License
59
60This project is free software; you can redistribute it and/or modify it
61under the same terms as Perl itself.
62See <http://dev.perl.org/licenses/>
63
README.todo
1
2TODO:
3
4This program was originally written in December 2000. Then a total
5redesign was made, which was released in December 2001.
6
7The file TODO.v2 lists holes in the current implementation. In this file,
8more long-term plans are listed.
9
10Plans for the (near?) future:
11* Thread lint
12 Currently, threads are only detected based on some fields in the
13 message header which are dedicated for this (the In-Reply-To and
14 the References field), however, there are many more ways to
15 try to correct things if these are not present.
16
17 If a message does not contain the two mentioned fields, then look
18 for a message which is at most a few days younger, whose sender is
19 in the recipient-list of the current message, and where parts of
20 the message are quoted (preceded by some symbols).
21
22* Persistent external files
23 Extracting large message-parts into persistent external files.
24 Mime::Entity puts attachments in external files during parsing. When
25 the message is put in a folder again, the content is glued back into
26 the folder. It should be nice to keep them external, such that the
27 folder-file is much smaller, and parsing done quickly.
28
29* Many more folder-types
30 I have a long wishlist of older-types. However, my knowledge on how
31 they work is limited. Furthermore, I do not have test-data on them.
32
33 - Emaul (? for compatibly with Mail::Folder)
34 - News NNTP
35 - Outlook writting... (reading is already available in ::Dbx)
36 - Exchange
37 - Netscape
38 - Zip Compressed folders
39 - Encrypt
40 - DBI Database
41
42 Any more?
43 One of the main reasons that these are not implemented, is that my
44 knowledge on how they work is insufficient.
45
46* Maildir quota
47
48* Cooperation with OpenPGP
49
50* MD5 checksums and more
51