Swift Mailer 2.1.17
18th October 2006
---------------------------
HISTORY
29th April 2006: 0.0.0
First working version, support for SMTP authentication needed.
8Th May 2006: 0.0.1
First official release - Features added:
* SMTP Authentication (PLAIN, LOGIN, CRAM-MD5)
* Separated connection handling into classes
* Support for SSL included
* Emails now locally cached in send() when delivering to
multiple recipients
* Response codes tracked and checked throughout.
15th May 2006: 0.0.2
Corrected an issue with attachments not displaying in Thunderbird
This issue was *not* due to the implmentation of MIME in Swift -
but rather, Thunderbird seems not to handle the multipart/alternative
MIME type very well when combined with a mixed MIME type.
16th May 2006: 0.0.3
Added the LFtoCRLF() method.
20th May 2006: 0.0.4
Made second constructor paramter optional (now defaults to $_SERVER['SERVER_NAME'])
Added an option to automatically convert line longer than 76 characters to be
compliant.
Included interfaces for PHP5 version.
(PHPDocumentor comments added)
25th May 2006: 1.0.0
Added wrappers for Bcc, Cc and multiple To addresses.
Speed improvements.
More refactored further to make plugin development more flexible.
Releases early to fix a bug with MTA parsing of addresses.
31st May 2006: 1.0.1
Bugfix: ChunkSplitLines() wasn't replacing the exisiting CRLF
1st June 2006: 1.1.0
Support for TLS encryption added. Gmail servers!!
Better error reporting.
Embedded image support
autoFlush() along with individula flush methods added
autoResizeLines() prettied up more
Addresses can now be given in 3 ways (list of addresses, single addresss,
"address, name" or any combination of these).
4th June 2006: 1.1.2
Connection/handshake procedure refactored into a connect()
method in Swift.
Minor (really minor) bugfix with commandKeyword not being emptied where
no command in being sent.
Anti-flood plugin included with package.
8th June 2006: 1.1.3
Added POP3 Before SMTP Authenticator.
8th June 2006: 1.2.0
Ermmm.. Oops, the 1.1.3 release was actually 7th June 2006.
Moving on Swiftly (no pun intended)....
Some speed/memory improvements by removing some preg_ calls
that were used several times.
Added setPriority() and requestReadReceipt() methods.
Added a check to make sure close() isn't executed if Swift
is not connected.
Improved error reporting a little further.
Bundled a verbose errors plugin (Swift_Errors_Plugin).
22nd June 2006: 1.2.3
Corrected a bug with TLS on Gmail servers. Thanks to Jonathon Foote
and Andres Usera for spotting the issue and offering a fix.
The problem was that Gmail, operating with TLS enabled does not respond to the
QUIT command so fgets() was giving TLS protocol errors. A simple @ supression
combined with boolean false return check corrected this.
24th June 2006: 1.3.0
Corrected a bug in the makeSafe() method.
Optimized makeSafe() by calling LFtoCRLF() before processing.
Added 8bit and binary encoding types.
Default to 8bit transfer encoding with UTF-8.
Added VERSION constant.
Added ability to override plugin names at load-time.
Restricted size of "transactions" array to 100 by default, settable
using setMaxLogSize().
Massively optimized buildMail() (Half the memory!)
16th July 2006: 1.3.2
Major Bug Fix in Swift_PLAIN_Authenticator.php
There was a reference to $this->responseCode which should have been
$this->baseObject->responseCode.
Patched in code contributed by "Jakob Truelsen - antialize" from
sourceforge which improves POP Before SMTP Authentication.
Original Comment here:
http://sourceforge.net/tracker/index.php?func=detail&aid=1517632&group_id=170045&atid=852776
16th July 2006: 1.3.3
Oops, forgot that the mime warning wasn't appearing at all in messages. Fixed.
30th July 2006: 2.0.0
Several changes...
PEAR Naming used. Be sure to read ./compat/README
PHP_VERSION check removed from PHP5 since the "interface" T_STRING error in
PHP4 is unavoidable as it is a parse error.
Recoded command() and send() NOT to fail at rejected recipients.
Added getters for To, Cc, Bcc, Reply-To.
Added ability to force command() to stop processing for N commands.
Added a redundant connection handler and a connection rotator.
Added a templating plugin.
UTF-8 seems to be working, although not fully tested.
Sendmail path and SMTP details have an AUTO-DETECT option.
3rd August 2006: 2.1.0
More changes...
UTF-8 *really* does work now. I've had it tested by a number of developers.
Auto-detection for UTF-8 so developers needn't specify
8BITMIME check added to see if QP encoding is required by the SMTP server
QP encoding now used in headers if needed
Fixed a minor bug with the "-1" response code not being flushed after a failed send().
4th August 2006: 2.1.1
Fixed some minor bugs with all authentication mechanisms (notices)
Made PLAIN authentication send it's command in one string since it's more accepted.
5th August 2006: 2.1.2
Removed "auth" expected code from list since it conflicted with PLAIN authentication.
I'll re-think the working of the expected code stuff for next version.
7th August 2006: 2.1.3
Spelling in PHP4 version. 1 occurrence of $this->userChatset to $this->userCharset
8th August 2006: 2.1.4
Changed the encoding used in headers to breaks over several lines when needed
8th August 2006: 2.1.5
Oops - Parse error fixed. "function function ..."
8th August 2006: 2.1.6
The last in the series of rapid releases.
Worked further on the headers to solve an issue which was changing the display of
sender/to addresses in Outlook.
Changed mime boundary to use uniqid() -- More efficient
Added _=_ to start of mime boundary -- Less likely to colllide.
13th August 2006: 2.1.7
Security bug fixed thanks to clamcrusher (sitepoint) for spotting that.
Bug related to header injection possibilities by enclosing newlines in the
< ... > part of an email address declaration.
Also added getters for transactions and errors.
13th August: 2.1.8
Added "D" modifier to is7bitPrintable() method since $ matches newlines otherwise.
Thanks again to clamcrusher - sourceforge member.
14th August: 2.1.9
Small change in safeEncodeHeader(). PHP 5.0.4 bug with chunk_split() not adding a
trailing CRLF was causing an issue with headers disappearing. Added sanity check.
14th August: 2.1.10
Small change in 2.1.9 should have been looking for '' not CRLF.
16th August: 2.1.11
Changed array_pop() in safeEncodeHeader() to use count() to get the last array element
-- hadn't realised the array is acted upon by-reference in array_pop().
18th August 2006: 2.1.12
Added heaps of Units and Smoke Tests
Added a couple of getters for plugins/parts/attachment counts
28th August 2006: 2.1.13
Added a native mail() connection for those who need it.
Added a PHPMailer compat stub. (See compat folder)
9th September 2006: 2.1.15
Slightly adjusted how MIME parts are nested. This might stop some confusion with certain
services. Also forced 8bit encoding on the overall structure of a multipart message.
9th September 2006: 2.1.16
More tweaking of message structure with MIME parts/attachments.
18th October 2006: 2.1.17
Fixed bug with detectUTF8() [array given when string expected..]
Added setHeaderEncoding() method