distribution Mail-Message

This distribution knows everything about email messages: the headers, body, encodings, and processing.

Until release 3.0, this module was an integral part of the Mail-Box distribution. Now it can be used stand-alone.

Installing

On github, you can find the processed version for each release. But the better source is CPAN; to get it installed simply run:

   cpan -i Mail::Message

Be aware that version 4 is not fully compatible with releases pre-4. See https://github.com/markov2/perl5-Mail-Box/wiki/

Including all the options described below:

   cpan -i MIME::Entity HTML::TreeBuilder HTML::FormatText Net::Domain Mail::Message

optional Mail::Internet

Many existing e-mail applications use Mail::Internet objects. If you want automatic conversions for compatibility, you need this.

optional MIME::Entity

MIME::Entity extends Mail::Internet messages with multipart handling and composition. Install this when you want compatibility with distrs which are based on this kind of messages.

optional HTML::TreeBuilder

The tree builder is used by the HTML::Format* packages. Not needed unless you want to convert HTML attachments into something else.

optional HTML::FormatText

Plug-in which converts HTML to Postscript or plain text. Only when you do this kind of processing.

optional Net::Domain

Better (slower, thorow) detection of full hostname, when you do not explictly pass domain-names in some cases.

Development → Release

Important to know, is that I use an extension on POD to write the manuals. The "raw" unprocessed version is visible on GitHub. It will run without problems, but does not contain manual-pages.

Releases to CPAN are different: "raw" documentation gets removed from the code and translated into real POD and clean HTML. This reformatting is implemented with the OODoc distribution (A name I chose before OpenOffice existed, sorry for the confusion)

Clone from github for the "raw" version. For instance, when you want to contribute a new feature.

Contributing

When you want to contribute to this module, you do not need to provide a perfect patch... actually: it is nearly impossible to create a patch which I will merge without modification. Usually, I need to adapt the style of code and documentation to my own strict rules.

When you submit an extension, please contribute a set with

  1. code

  2. code documentation

  3. regression tests in t/

Please note: When you contribute in any way, you agree to transfer the copyrights to Mark Overmeer (you will get the honors in the code and/or ChangeLog). You also automatically agree that your contribution is released under the same license as this project: licensed as perl itself.

This project is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/