=head1 CHANGE LOG =over 4 =item Version 3.01 (2003/04/25) Eryq has reappeared long enough to graciously hand over the maintaince of the module to me. Thanks. =item Version 3.00 (2003/04/24) Eryq has disappeared. His web site remains but he doesnt answer emails. I have taken it onto myself to take over maintenance until he returns to reclaim his excellent work. I don't intend to develop this in an serious way. I'll patch it if people have a patch and generally keep it ticking over, but dont expect new features. This release has code that actually works with MIME::Lite now. As well as a few other minor additions (like a test for this functionailty) For stuff that could be done, a first place would be to rewrite and extend the test suite. It should use Test::More or Test::Builder at the very least. I also might rip out the preformatted doc pages. It makes the distro way fatter than it needs to be. I reckon the package contains the POD in at least three forms. A wee tad overkill I think. :-) =item Version 2.117 (2001/08/20) The terms-of-use have been placed in the distribution file "COPYING". Also, small documentation tweaks were made. =item Version 2.116 (2001/08/17) Added long-overdue patch which makes the instance method form of send() do the right thing when given HOW... arguments. I =item Version 2.114 (2001/08/16) New special 'AUTO' content type in new()/build() tells MIME::Lite to try and guess the type from file extension. To make use of this, you'll want to install B. The "AUTO" setting can be made the default default (instead of "TEXT") if you set C<$AUTO_CONTENT_TYPE = 1, $PARANOID = 0>. I Ville SkyttE<#228> I File::Basename is used if it is available. I Ville SkyttE<#228> I SMTP failures (in send_by_smtp) now add the $smtp-Emessage to the croak'ed exception, so if things go wrong, you get a better idea of what and why. I Made a subtle change to C which supposedly fixes a failed MIME data.t test with Perl 5.004_04 on NT 4 sp6. The problem might only exist in this old perl, but as the patch author says, not everyone has climbed higher on the Perl ladder. I Added C directory, with F. I Improved HTML documentation (notice the links to the individual methods in the top menu). Corrected some mis-docs. =item Version 2.111 (2001/04/03) Added long-overdue C and C methods. No instance method For accessing the subparts? That can't be right. D'OH! Added long-overdue auto-verify logic to C method. Added long-overdue C method for getting/setting the preamble text. I =item Version 2.108 (2001/03/30) New C allows you to set the header order, both on a per-message basis, and package-wide. I Added code to try and divine "sendmail" path more intelligently. I =item Version 2.107 (2001/03/27) Fixed serious bug where tainted data with quoted-printable encoding was causing infinite loops. The "fix" untaints the data in question, which is not optimal, but it's probably benign in this case. I I "Doctor, O doctor: it's painful when I do *this* --" "Simple: don't *do* that." Fixed bugs where a non-local C<$_> was being modified... again! Will I never learn? I Dollar-underscore can poison distant waters; 'local' must it be. Fixed buglet in C where all value references were being treated as arrayrefs, instead of as possibly-self-stringifying object refs. Now you can send in an object ref as the 2nd argument. I That ref is a string? Operator overload has ruined my day. Added "Approved" as an acceptable header field for C, as per RFC1036. I Small improvements to docs to make different uses of attach() and various arguments clearer. I =item Version 2.106 (2000/11/21) Added Alpha version of scrub() to make it easy for people to suppress the printing of unwanted MIME attributes (like Content-length). I Headers with empty-strings for their values are no longer printed. This seems sensible, and helps us implement scrub(). =item Version 2.105 (2000/10/14) The regression-test failure was identified, and it was my fault. Apparently some of the \-quoting in my "autoloaded" code was making Perl 5.6 unhappy. For this nesting-related idiocy, a nesting kaiku. I In a pattern, my backslash-s dwells peacefully, unambiguous -- but I embed it in a double-quoted string doubling the backslash -- interpolating that same double-quoted string in other patterns -- and, worlds within worlds, I single-quote the function to autoload it -- changing the meaning of the backslash and the 's'; and Five-Point-Six growls. =item Version 2.104 (2000/09/28) Now attempts to load and use Mail::Address for parsing email addresses I falling back to our own method. I Parsing addresses is too damn hard. One last hope: Let Graham Barr do it! For the curious, the version of Mail::Address appears as the "A" number in the X-Mailer: X-Mailer: MIME::Lite 2.104 (A1.15; B2.09; Q2.03) Added B option to send_by_sendmail(). I =item Version 2.101 (2000/06/06) Major revision to print_body() and body_as_string() so that "body" really means "the part after the header", which is what most people would want in this context. This is B how it was used 1.x, where "body" only meant "the body of a simple singlepart". Hopefully, this change will solve many problems and create very few ones. Added support for attaching a part to a "message/rfc822", treating the "message" type as a multipart-like container. Now takes care not to include "Bcc:" in header when using send_by_smtp, as a safety precaution against qmail's behavior. I Improved efficiency of many stringifying operations by using string-arrays which are joined, instead of doing multiple appends to a scalar. Cleaned up the "examples" directory. =item Version 1.147 (2000/06/02) Fixed buglet where lack of Cc:/Bcc: was causing extract_addrs to emit "undefined variable" warnings. Also, lack of a "To:" field now causes a croak. I =item Version 1.146 (2000/05/18) Fixed bug in parsing of addresses; please read the WARNINGS section which describes recommended address formats for "To:", "Cc:", etc. Also added automatic inclusion of a UT "Date:" at top level unless explicitly told not to. I =item Version 1.145 (2000/05/06) Fixed bug in encode_7bit(): a lingering C modifier was removed. I =item Version 1.142 (2000/05/02) Added new, taint-safe invocation of "sendmail", one which also sets up the C<-f> option. Unfortunately, I couldn't make this automatic: the change could have broken a lot of code out there which used send_by_sendmail() with unusual "sendmail" variants. So you'll have to configure "send" to use the new mechanism: MIME::Lite->send('sendmail'); ### no args! I =item Version 1.140 (2000/04/27) Fixed bug in support for "To", "Cc", and "Bcc" in send_by_smtp(): multiple (comma-separated) addresses should now work fine. We try real hard to extract addresses from the flat text strings. I Added automatic verification that attached data files exist, done immediately before the "send" action is invoked. To turn this off, set $MIME::Lite::AUTO_VERIFY to false. =item Version 1.137 (2000/03/22) Added support for "Cc" and "Bcc" in send_by_smtp(). To turn this off, set $MIME::Lite::AUTO_CC to false. I Chooses a better default content-transfer-encoding if the content-type is "image/*", "audio/*", etc. To turn this off, set $MIME::Lite::AUTO_ENCODE to false. I Fixed bug in QP-encoding where a non-local C<$_> was being modified. I Removed references to C<$`>, C<$'>, and C<$&> (bad variables which slow things down). Added an example of how to send HTML files with enclosed in-line images, per popular demand. =item Version 1.133 (1999/04/17) Fixed bug in "Data" handling: arrayrefs were not being handled properly. =item Version 1.130 (1998/12/14) Added much larger and more-flexible send() facility. I Added get() method for extracting basic attributes. New... "t" tests! =item Version 1.124 (1998/11/13) Folded in filehandle (FH) support in build/attach. I =item Version 1.122 (1998/01/19) MIME::Base64 and MIME::QuotedPrint are used if available. The 7bit encoding no longer does "escapes"; it merely strips 8-bit characters. =item Version 1.121 (1997/04/08) Filename attribute is now no longer ignored by build(). I =item Version 1.120 (1997/03/29) Efficiency hack to speed up MIME::Lite::IO_Scalar. I =item Version 1.116 (1997/03/19) Small bug in our private copy of encode_base64() was patched. I New, prettier way of specifying mail message headers in C. New quiet method to turn off warnings. Changed "stringify" methods to more-standard "as_string" methods. =item Version 1.112 (1997/03/06) Added C, and C method for our non-Unix-using brethren: file data is now read using binmode() if appropriate. I =item Version 1.110 (1997/03/06) Fixed bug in opening the data filehandle. =item Version 1.102 (1997/03/01) Initial release. =item Version 1.101 (1997/03/01) Baseline code. Originally created: 11 December 1996. Ho ho ho. =back