1changes(3)            User Contributed Perl Documentation           changes(3)
2
3
4

CHANGE LOG

6       Version 3.033
7           No changes since previous version, just made non-trial.
8
9       Version 3.032
10           Fix an error in printing to Net::SMTP (thanks, Peter Heirich)
11
12           Add "use warnings" and require v5.6
13
14       Version 3.031
15           Add an SSL option to connect to the SMTP relay via SSL on port 465.
16           (thanks, Max Maischein)
17
18           Document some tips on using non-ASCII content with MIME::Lite
19           (thanks, traveljury.com and Tom Hukins)
20
21       Version 3.030
22           Make send_by_sendmail set sender like documentation says it does
23           (thanks, Michael Schout!)
24
25       Version 3.029
26           Allow the MIME-Version header to be replaced (thanks, Florian!)
27
28       Version 3.028
29           Various documentation fixes
30
31       Version 3.027
32           Add send_to_testfile method (Thanks, AlexanderBecker)
33
34       Version 3.026
35           Fix tests to pass with MIME::Types 1.28
36
37       Version 3.025
38           Added back support for providing a non-default SMTP port (#21156,
39           #48783, thanks John Bokma!).
40
41       Version 3.024
42           add git repo link to metadata
43
44       Version 3.023
45           Correct erroneous changelog entry
46
47           Fix typo in perldoc: utf-8, not utf8
48
49       Version 3.022
50           Behave on Cygwin as on Win32 with regard to defaulting to SMTP
51           sending.
52
53           Respect crazy people who put multiple Cc or Bcc headers in message
54           (#30574, thanks Pavel V. Rochnyack!)
55
56           We no longer rewrite array and hash refs in the send_by_sendmail
57           args so aggressively.
58
59           Cope with missing local sendmail (thanks to Debian for patching for
60           this, and for putting up with me (rjbs) being an insufferable
61           jerk!)
62
63           Fix weird unicode-in-$1 bug (thanks SREZIC!)
64
65           Other minor bug fixes.
66
67       Version 3.021
68           Replace Email::Date with Email::Date::Format to limit prereqs
69           (Email::Date::Format produced just for this!)
70
71           Begin the process of removing use of ExtUtils::TBone for testing
72
73       Version 3.020
74           Optimized code for speedup of creation of two-part messages. The
75           internal structure of the object has changes, but that won't matter
76           if you were using the published interface.  (Sam Tregar)
77
78           Removed the "advanced features", ie auto-fallback delivery, from
79           send_by_smtp. They didn't belong there in the first place.
80
81       Version 3.01_06 (2007/07/29)
82           First release from Perl Email Project.  Updated packaging.
83
84       Version 3.01_04 (2004/05/05)
85           Reworked the new send_by_smtp stuff. Documentation modifications.
86
87       Version 3.01_02 (2003/08/28)
88           Well, it seems 3.01_01 failed tests on Win32 due to me accidentally
89           changing the line ending format to DOSish. Also the way that email
90           extraction for SMTP with or without Mail::Address was different
91           (from 2.117 even).  So ive fixed that.
92
93           Anybody depending on the undocumented extract_addrs() is in for a
94           suprise.  I suggest you look at using Mail::Address.
95
96       Version 3.01_01 (2003/04/25 - 2003/08/21)
97           (This version is a test release, if its ok then I'll re-release it
98           as 3.02)
99
100           Patched the pod to use correct entities Thanks to Ed Avis  for the
101           patch.  Added better support for funky names in the from field when
102           sending via SMTP, thanks to prodding by Darren Hemphill and Ollie
103           Gallardo. (Actually I kind of messed this up orginally and no doubt
104           Darren wasn't impressed. I ended up using something pretty close to
105           his solution.  My bad for not paying more attention. Sorry mate.)
106
107           08/21: Apparently I never uploaded my changes for this version to
108           CPAN. Sigh.
109
110           *** Win32 CHANGES ***
111
112           Up until this release the default send() method for all OS'es has
113           been to invoke sendmail and pipe the mail to it. This behaviour has
114           now changed on Win32 to default to using SMTP.  This means that if
115           your /site/lib/Net/libnet.cfg file is properly configured then you
116           can use SMTP without specifying a send method explicitly.  This
117           seemed a rational decision as most Win32 users who send mails are
118           using an SMTP server and not a tool like sendmail.
119
120           *** SMTP CHANGES ***
121
122           Jonathan Eunice <jeunice at illuminata dot com> pointed out an
123           interesting bug in the interaction between MIME::Lite and
124           Net::SMTP/Net::CMD.  This was that sending a mail ending in "\n\n"
125           without additional encoding would cause Net::CMD to send an
126           incorrect end of mail signal to the SMTP server which would result
127           in A) The mail failing to be sent due to a timeout, and B)
128           MIME::Lite to report that all was well.
129
130           This has been fixed by checking to make sure that if the last
131           character sent was \n, but the last two chars were not \r\n then
132           the \n is turned into an \r, which Net::CMD then adds an \n to and
133           then sends the normal ".\r\n" to terminate the message.  Weird
134           error, that im not entirely sure has been resolved properly. Please
135           inform me if this screws anything up that it shouldn't.
136
137           As stated earlier send_by_smtp wasnt extracting the _real_ email
138           address from the overall fancy once specified in the From: field.
139           This is resolved now, fancy display names are now possible while
140           using SMTP.
141
142           *** Content-Id ***
143
144           It was pointed out by alex via CPAN RT that Content-Id needs to
145           have angle brackets around it or HTML mails dont show up properly
146           in many mail clients, furthermore the RFC mandates it (to be honest
147           im taking his word on this, please feel free to yell at me if this
148           causes trouble), so as he suggested I am automatically adding them
149           in they arent provided.
150
151           *** sendmail path ***
152
153           Dom pointed out via CPAN RT that despite some effort going in to
154           trying to discover the correct location of sendmail, that it was
155           still using a bad default. Fixed.
156
157           *** Date Stamping ***
158
159           Kurt reported via RT that datestamps were not being correctly
160           formatted. His patch has been incorporated with only one change, a
161           comment where Perl was spelled PERL :-)
162
163           *** Quoted printable fix ***
164
165           Klaus Rusch noted a bug in how quoted-printable handled weird \r\n
166           combinations. Fixed now.
167
168       Version 3.01 (2003/04/25)
169           Eryq has reappeared long enough to graciously hand over the
170           maintaince of the module to me. Thanks.
171
172       Version 3.00 (2003/04/24)
173           Eryq has disappeared. His web site remains but he doesnt answer
174           emails.
175
176           I have taken it onto myself to take over maintenance until he
177           returns to reclaim his excellent work.
178
179           I don't intend to develop this in an serious way. I'll patch it if
180           people have a patch and generally keep it ticking over, but dont
181           expect new features.
182
183           This release has code that actually works with MIME::Lite now. As
184           well as a few other minor additions (like a test for this
185           functionailty)
186
187           For stuff that could be done, a first place would be to rewrite and
188           extend the test suite. It should use Test::More or Test::Builder at
189           the very least.
190
191           I also might rip out the preformatted doc pages. It makes the
192           distro way fatter than it needs to be. I reckon the package
193           contains the POD in at least three forms.  A wee tad overkill I
194           think. :-)
195
196       Version 2.117   (2001/08/20)
197           The terms-of-use have been placed in the distribution file
198           "COPYING".  Also, small documentation tweaks were made.
199
200       Version 2.116   (2001/08/17)
201           Added long-overdue patch which makes the instance method form of
202           send() do the right thing when given HOW... arguments.  Thanks to
203           Casey West for the patch.
204
205       Version 2.114   (2001/08/16)
206           New special 'AUTO' content type in new()/build() tells MIME::Lite
207           to try and guess the type from file extension.  To make use of
208           this, you'll want to install MIME::Types.  The "AUTO" setting can
209           be made the default default (instead of "TEXT") if you set
210           "$AUTO_CONTENT_TYPE = 1, $PARANOID = 0".  Thanks to Ville Skyttä
211           for these patches.
212
213           File::Basename is used if it is available.  Thanks to Ville Skyttä
214           for this patch.
215
216           SMTP failures (in send_by_smtp) now add the $smtp->message to the
217           croak'ed exception, so if things go wrong, you get a better idea of
218           what and why.  Thanks to Thomas R. Wyant III for the patch.
219
220           Made a subtle change to "as_string" which supposedly fixes a failed
221           MIME data.t test with Perl 5.004_04 on NT 4 sp6.  The problem might
222           only exist in this old perl, but as the patch author says, not
223           everyone has climbed higher on the Perl ladder.  Thanks to John
224           Gotts for the patch.
225
226           Added "contrib" directory, with MailTool.pm.  Thanks to Tom Wyant
227           for this contribution.
228
229           Improved HTML documentation (notice the links to the individual
230           methods in the top menu).
231
232           Corrected some mis-docs.
233
234       Version 2.111   (2001/04/03)
235           Added long-overdue "parts()" and "parts_DFS()" methods.
236
237               No instance method
238                  For accessing the subparts?
239               That can't be right.  D'OH!
240
241           Added long-overdue auto-verify logic to "print()" method.
242
243           Added long-overdue "preamble()" method for getting/setting the
244           preamble text.  Thanks to Jim Daigle for inspiring this.
245
246       Version 2.108   (2001/03/30)
247           New "field_order()" allows you to set the header order, both on a
248           per-message basis, and package-wide.  Thanks to Thomas Stromberg
249           for suggesting this.
250
251           Added code to try and divine "sendmail" path more intelligently.
252           Thanks to Slaven Rezic for the suggestion.
253
254       Version 2.107   (2001/03/27)
255           Fixed serious bug where tainted data with quoted-printable encoding
256           was causing infinite loops.  The "fix" untaints the data in
257           question, which is not optimal, but it's probably benign in this
258           case.  Thanks to Stefan Sautter for tracking this nasty little
259           beast down.  Thanks to Larry Geralds for a related patch.
260
261               "Doctor, O doctor:
262                  it's painful when I do *this* --"
263               "Simple: don't *do* that."
264
265           Fixed bugs where a non-local $_ was being modified... again!  Will
266           I never learn?  Thanks to Maarten Koskamp for reporting this.
267
268               Dollar-underscore
269                  can poison distant waters;
270              'local' must it be.
271
272           Fixed buglet in "add()" where all value references were being
273           treated as arrayrefs, instead of as possibly-self-stringifying
274           object refs.  Now you can send in an object ref as the 2nd
275           argument.  Thanks to dLux for the bug report.
276
277               That ref is a string?
278                  Operator overload
279               has ruined my day.
280
281           Added "Approved" as an acceptable header field for "new()", as per
282           RFC1036.  Thanks to Thomax for the suggestion regarding MIME-tools.
283
284           Small improvements to docs to make different uses of attach() and
285           various arguments clearer.  Thanks to Sven Rassman and Roland
286           Walter for the suggestions.
287
288       Version 2.106   (2000/11/21)
289           Added Alpha version of scrub() to make it easy for people to
290           suppress the printing of unwanted MIME attributes (like Content-
291           length).  Thanks to the many people who asked for this.
292
293           Headers with empty-strings for their values are no longer printed.
294           This seems sensible, and helps us implement scrub().
295
296       Version 2.105   (2000/10/14)
297           The regression-test failure was identified, and it was my fault.
298           Apparently some of the \-quoting in my "autoloaded" code was making
299           Perl 5.6 unhappy.  For this nesting-related idiocy, a nesting
300           kaiku.  Thanks to Scott Schwartz for identifying the problem.
301
302               In a pattern, my
303                  backslash-s dwells peacefully,
304               unambiguous --
305
306                  but I embed it
307                     in a double-quoted string
308                  doubling the backslash --
309
310                     interpolating
311                        that same double-quoted string
312                     in other patterns --
313
314                        and, worlds within worlds,
315                           I single-quote the function
316                        to autoload it --
317
318                     changing the meaning
319                  of the backslash and the 's';
320               and Five-Point-Six growls.
321
322       Version 2.104   (2000/09/28)
323           Now attempts to load and use Mail::Address for parsing email
324           addresses before falling back to our own method.  Thanks to
325           numerous people for suggesting this.
326
327               Parsing addresses
328                  is too damn hard. One last hope:
329               Let Graham Barr do it!
330
331           For the curious, the version of Mail::Address appears as the "A"
332           number in the X-Mailer:
333
334               X-Mailer: MIME::Lite 2.104  (A1.15; B2.09; Q2.03)
335
336           Added FromSender option to send_by_sendmail().  Thanks to Bill
337           Moseley for suggesting this feature.
338
339       Version 2.101   (2000/06/06)
340           Major revision to print_body() and body_as_string() so that "body"
341           really means "the part after the header", which is what most people
342           would want in this context.  This is not how it was used 1.x, where
343           "body" only meant "the body of a simple singlepart".  Hopefully,
344           this change will solve many problems and create very few ones.
345
346           Added support for attaching a part to a "message/rfc822", treating
347           the "message" type as a multipart-like container.
348
349           Now takes care not to include "Bcc:" in header when using
350           send_by_smtp, as a safety precaution against qmail's behavior.
351           Thanks to Tatsuhiko Miyagawa for identifying this problem.
352
353           Improved efficiency of many stringifying operations by using
354           string-arrays which are joined, instead of doing multiple appends
355           to a scalar.
356
357           Cleaned up the "examples" directory.
358
359       Version 1.147   (2000/06/02)
360           Fixed buglet where lack of Cc:/Bcc: was causing extract_addrs to
361           emit "undefined variable" warnings.  Also, lack of a "To:" field
362           now causes a croak.  Thanks to David Mitchell for the bug report
363           and suggested patch.
364
365       Version 1.146   (2000/05/18)
366           Fixed bug in parsing of addresses; please read the WARNINGS section
367           which describes recommended address formats for "To:", "Cc:", etc.
368           Also added automatic inclusion of a UT "Date:" at top level unless
369           explicitly told not to.  Thanks to Andy Jacobs for the bug report
370           and the suggestion.
371
372       Version 1.145   (2000/05/06)
373           Fixed bug in encode_7bit(): a lingering "/e" modifier was removed.
374           Thanks to Michael A. Chase for the patch.
375
376       Version 1.142   (2000/05/02)
377           Added new, taint-safe invocation of "sendmail", one which also sets
378           up the "-f" option.  Unfortunately, I couldn't make this automatic:
379           the change could have broken a lot of code out there which used
380           send_by_sendmail() with unusual "sendmail" variants.  So you'll
381           have to configure "send" to use the new mechanism:
382
383               MIME::Lite->send('sendmail');       ### no args!
384
385           Thanks to Jeremy Howard for suggesting these features.
386
387       Version 1.140   (2000/04/27)
388           Fixed bug in support for "To", "Cc", and "Bcc" in send_by_smtp():
389           multiple (comma-separated) addresses should now work fine.  We try
390           real hard to extract addresses from the flat text strings.  Thanks
391           to John Mason for motivating this change.
392
393           Added automatic verification that attached data files exist, done
394           immediately before the "send" action is invoked.  To turn this off,
395           set $MIME::Lite::AUTO_VERIFY to false.
396
397       Version 1.137   (2000/03/22)
398           Added support for "Cc" and "Bcc" in send_by_smtp().  To turn this
399           off, set $MIME::Lite::AUTO_CC to false.  Thanks to Lucas Maneos for
400           the patch, and tons of others for the suggestion.
401
402           Chooses a better default content-transfer-encoding if the content-
403           type is "image/*", "audio/*", etc.  To turn this off, set
404           $MIME::Lite::AUTO_ENCODE to false.  Thanks to many folks for the
405           suggestion.
406
407           Fixed bug in QP-encoding where a non-local $_ was being modified.
408           Thanks to Jochen Stenzel for finding this very obscure bug!
409
410           Removed references to "$`", "$'", and $& (bad variables which slow
411           things down).
412
413           Added an example of how to send HTML files with enclosed in-line
414           images, per popular demand.
415
416       Version 1.133   (1999/04/17)
417           Fixed bug in "Data" handling: arrayrefs were not being handled
418           properly.
419
420       Version 1.130   (1998/12/14)
421           Added much larger and more-flexible send() facility.  Thanks to
422           Andrew McRae (and Optimation New Zealand Ltd) for the Net::SMTP
423           interface.  Additional thanks to the many folks who requested this
424           feature.
425
426           Added get() method for extracting basic attributes.
427
428           New... "t" tests!
429
430       Version 1.124   (1998/11/13)
431           Folded in filehandle (FH) support in build/attach.  Thanks to Miko
432           O'Sullivan for the code.
433
434       Version 1.122   (1998/01/19)
435           MIME::Base64 and MIME::QuotedPrint are used if available.
436
437           The 7bit encoding no longer does "escapes"; it merely strips 8-bit
438           characters.
439
440       Version 1.121   (1997/04/08)
441           Filename attribute is now no longer ignored by build().  Thanks to
442           Ian Smith for finding and patching this bug.
443
444       Version 1.120   (1997/03/29)
445           Efficiency hack to speed up MIME::Lite::IO_Scalar.  Thanks to David
446           Aspinwall for the patch.
447
448       Version 1.116   (1997/03/19)
449           Small bug in our private copy of encode_base64() was patched.
450           Thanks to Andreas Koenig for pointing this out.
451
452           New, prettier way of specifying mail message headers in "build()".
453
454           New quiet method to turn off warnings.
455
456           Changed "stringify" methods to more-standard "as_string" methods.
457
458       Version 1.112   (1997/03/06)
459           Added "read_now()", and "binmode()" method for our non-Unix-using
460           brethren: file data is now read using binmode() if appropriate.
461           Thanks to Xiangzhou Wang for pointing out this bug.
462
463       Version 1.110   (1997/03/06)
464           Fixed bug in opening the data filehandle.
465
466       Version 1.102   (1997/03/01)
467           Initial release.
468
469       Version 1.101   (1997/03/01)
470           Baseline code.  Originally created: 11 December 1996.  Ho ho ho.
471
472
473
474perl v5.36.0                      2022-07-22                        changes(3)
Impressum