123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408 |
- ChangeLog
- NOTE: THIS VERSION OF PHPMAILER IS DESIGNED FOR PHP5/PHP6.
- IT WILL NOT WORK WITH PHP4.
- Version 5.1 (October 20, 2009)
- * fixed filename issue with AddStringAttachment (thanks to Tony)
- * fixed "SingleTo" property, now works with Senmail, Qmail, and SMTP in
- addition to PHP mail()
- * added DKIM digital signing functionality
- New properties:
- - DKIM_domain (sets the domain name)
- - DKIM_private (holds DKIM private key)
- - DKIM_passphrase (holds your DKIM passphrase)
- - DKIM_selector (holds the DKIM "selector")
- - DKIM_identity (holds the identifying email address)
- * added callback function support
- - callback function parameters include:
- result, to, cc, bcc, subject and body
- * see the test/test_callback.php file for usage.
- * added "auto" identity functionality
- - can automatically add:
- - Return-path (if Sender not set)
- - Reply-To (if ReplyTo not set)
- - can be disabled:
- - $mail->SetFrom('yourname@yourdomain.com','First Last',false);
- - or by adding the $mail->Sender and/or $mail->ReplyTo properties
- Note: "auto" identity added to help with emails ending up in spam
- or junk boxes because of missing headers
- Version 5.0.2 (May 24, 2009)
- * Fix for missing attachments when inline graphics are present
- * Fix for missing Cc in header when using SMTP (mail was sent,
- but not displayed in header -- Cc receiver only saw email To:
- line and no Cc line, but did get the email (To receiver
- saw same)
- Version 5.0.1 (April 05, 2009)
- * Temporary fix for missing attachments
- Version 5.0.0 (April 02, 2009)
- * With the release of this version, we are initiating a new version numbering
- system to differentiate from the PHP4 version of PHPMailer.
- * Most notable in this release is fully object oriented code.
- class.smtp.php:
- * Refactored class.smtp.php to support new exception handling
- code size reduced from 29.2 Kb to 25.6 Kb
- * Removed unnecessary functions from class.smtp.php:
- public function Expand($name) {
- public function Help($keyword="") {
- public function Noop() {
- public function Send($from) {
- public function SendOrMail($from) {
- public function Verify($name) {
- class.phpmailer.php:
- * Refactored class.phpmailer.php with new exception handling
- * Changed processing functionality of Sendmail and Qmail so they cannot be
- inadvertently used
- * removed getFile() function, just became a simple wrapper for
- file_get_contents()
- * added check for PHP version (will gracefully exit if not at least PHP 5.0)
- class.phpmailer.php enhancements
- * enhanced code to check if an attachment source is the same as an embedded or
- inline graphic source to eliminate duplicate attachments
- New /test_script
- * We have written a test script you can use to test the script as part of your
- installation. Once you press submit, the test script will send a multi-mime
- email with either the message you type in or an HTML email with an inline
- graphic. Two attachments are included in the email (one of the attachments
- is also the inline graphic so you can see that only one copy of the graphic
- is sent in the email). The test script will also display the functional
- script that you can copy/paste to your editor to duplicate the functionality.
- New examples
- * All new examples in both basic and advanced modes. Advanced examples show
- Exception handling.
- PHPDocumentator (phpdocs) documentation for PHPMailer version 5.0.0
- * all new documentation
- Please note: the website has been updated to reflect the changes in PHPMailer
- version 5.0.0. http://phpmailer.codeworxtech.com/
- Version 2.3 (November 06, 2008)
- * added Arabic language (many thanks to Bahjat Al Mostafa)
- * removed English language from language files and made it a default within
- class.phpmailer.php - if no language is found, it will default to use
- the english language translation
- * fixed public/private declarations
- * corrected line 1728, $basedir to $directory
- * added $sign_cert_file to avoid improper duplicate use of $sign_key_file
- * corrected $this->Hello on line 612 to $this->Helo
- * changed default of $LE to "\r\n" to comply with RFC 2822. Can be set by the user
- if default is not acceptable
- * removed trim() from return results in EncodeQP
- * /test and three files it contained are removed from version 2.3
- * fixed phpunit.php for compliance with PHP5
- * changed $this->AltBody = $textMsg; to $this->AltBody = html_entity_decode($textMsg);
- * We have removed the /phpdoc from the downloads. All documentation is now on
- the http://phpmailer.codeworxtech.com website.
- Version 2.2.1 () July 19 2008
- * fixed line 1092 in class.smtp.php (my apologies, error on my part)
- Version 2.2 () July 15 2008
- * Fixed redirect issue (display of UTF-8 in thank you redirect)
- * fixed error in getResponse function declaration (class.pop3.php)
- * PHPMailer now PHP6 compliant
- * fixed line 1092 in class.smtp.php (endless loop from missing = sign)
- Version 2.1 (Wed, June 04 2008)
- ** NOTE: WE HAVE A NEW LANGUAGE VARIABLE FOR DIGITALLY SIGNED S/MIME EMAILS.
- IF YOU CAN HELP WITH LANGUAGES OTHER THAN ENGLISH AND SPANISH, IT WOULD BE
- APPRECIATED.
- * added S/MIME functionality (ability to digitally sign emails)
- BIG THANKS TO "sergiocambra" for posting this patch back in November 2007.
- The "Signed Emails" functionality adds the Sign method to pass the private key
- filename and the password to read it, and then email will be sent with
- content-type multipart/signed and with the digital signature attached.
- * fully compatible with E_STRICT error level
- - Please note:
- In about half the test environments this development version was subjected
- to, an error was thrown for the date() functions used (line 1565 and 1569).
- This is NOT a PHPMailer error, it is the result of an incorrectly configured
- PHP5 installation. The fix is to modify your 'php.ini' file and include the
- date.timezone = America/New York
- directive, to your own server timezone
- - If you do get this error, and are unable to access your php.ini file:
- In your PHP script, add
- date_default_timezone_set('America/Toronto');
- - do not try to use
- $myVar = date_default_timezone_get();
- as a test, it will throw an error.
- * added ability to define path (mainly for embedded images)
- function MsgHTML($message,$basedir='') ... where:
- $basedir is the fully qualified path
- * fixed MsgHTML() function:
- - Embedded Images where images are specified by <protocol>:// will not be altered or embedded
- * fixed the return value of SMTP exit code ( pclose )
- * addressed issue of multibyte characters in subject line and truncating
- * added ability to have user specified Message ID
- (default is still that PHPMailer create a unique Message ID)
- * corrected unidentified message type to 'application/octet-stream'
- * fixed chunk_split() multibyte issue (thanks to Colin Brown, et al).
- * added check for added attachments
- * enhanced conversion of HTML to text in MsgHTML (thanks to "brunny")
- Version 2.1.0beta2 (Sun, Dec 02 2007)
- * implemented updated EncodeQP (thanks to coolbru, aka Marcus Bointon)
- * finished all testing, all known bugs corrected, enhancements tested
- - note: will NOT work with PHP4.
- please note, this is BETA software
- ** DO NOT USE THIS IN PRODUCTION OR LIVE PROJECTS
- INTENDED STRICTLY FOR TESTING
- Version 2.1.0beta1
- please note, this is BETA software
- ** DO NOT USE THIS IN PRODUCTION OR LIVE PROJECTS
- INTENDED STRICTLY FOR TESTING
- Version 2.0.0 rc2 (Fri, Nov 16 2007), interim release
- * implements new property to control VERP in class.smtp.php
- example (requires instantiating class.smtp.php):
- $mail->do_verp = true;
- * POP-before-SMTP functionality included, thanks to Richard Davey
- (see class.pop3.php & pop3_before_smtp_test.php for examples)
- * included example showing how to use PHPMailer with GMAIL
- * fixed the missing Cc in SendMail() and Mail()
- ******************
- A note on sending bulk emails:
- If the email you are sending is not personalized, consider using the
- "undisclosed-recipient:;" strategy. That is, put all of your recipients
- in the Bcc field and set the To field to "undisclosed-recipients:;".
- It's a lot faster (only one send) and saves quite a bit on resources.
- Contrary to some opinions, this will not get you listed in spam engines -
- it's a legitimate way for you to send emails.
- A partial example for use with PHPMailer:
- $mail->AddAddress("undisclosed-recipients:;");
- $mail->AddBCC("email1@anydomain.com,email2@anyotherdomain.com,email3@anyalternatedomain.com");
- Many email service providers restrict the number of emails that can be sent
- in any given time period. Often that is between 50 - 60 emails maximum
- per hour or per send session.
- If that's the case, then break up your Bcc lists into chunks that are one
- less than your limit, and put a pause in your script.
- *******************
- Version 2.0.0 rc1 (Thu, Nov 08 2007), interim release
- * dramatically simplified using inline graphics ... it's fully automated and requires no user input
- * added automatic document type detection for attachments and pictures
- * added MsgHTML() function to replace Body tag for HTML emails
- * fixed the SendMail security issues (input validation vulnerability)
- * enhanced the AddAddresses functionality so that the "Name" portion is used in the email address
- * removed the need to use the AltBody method (set from the HTML, or default text used)
- * set the PHP Mail() function as the default (still support SendMail, SMTP Mail)
- * removed the need to set the IsHTML property (set automatically)
- * added Estonian language file by Indrek Päri
- * added header injection patch
- * added "set" method to permit users to create their own pseudo-properties like 'X-Headers', etc.
- example of use:
- $mail->set('X-Priority', '3');
- $mail->set('X-MSMail-Priority', 'Normal');
- * fixed warning message in SMTP get_lines method
- * added TLS/SSL SMTP support
- example of use:
- $mail = new PHPMailer();
- $mail->Mailer = "smtp";
- $mail->Host = "smtp.example.com";
- $mail->SMTPSecure = "tls"; // option
- //$mail->SMTPSecure = "ssl"; // option
- ...
- $mail->Send();
- * PHPMailer has been tested with PHP4 (4.4.7) and PHP5 (5.2.7)
- * Works with PHP installed as a module or as CGI-PHP
- - NOTE: will NOT work with PHP5 in E_STRICT error mode
- Version 1.73 (Sun, Jun 10 2005)
- * Fixed denial of service bug: http://www.cybsec.com/vuln/PHPMailer-DOS.pdf
- * Now has a total of 20 translations
- * Fixed alt attachments bug: http://tinyurl.com/98u9k
- Version 1.72 (Wed, May 25 2004)
- * Added Dutch, Swedish, Czech, Norwegian, and Turkish translations.
- * Received: Removed this method because spam filter programs like
- SpamAssassin reject this header.
- * Fixed error count bug.
- * SetLanguage default is now "language/".
- * Fixed magic_quotes_runtime bug.
- Version 1.71 (Tue, Jul 28 2003)
- * Made several speed enhancements
- * Added German and Italian translation files
- * Fixed HELO/AUTH bugs on keep-alive connects
- * Now provides an error message if language file does not load
- * Fixed attachment EOL bug
- * Updated some unclear documentation
- * Added additional tests and improved others
- Version 1.70 (Mon, Jun 20 2003)
- * Added SMTP keep-alive support
- * Added IsError method for error detection
- * Added error message translation support (SetLanguage)
- * Refactored many methods to increase library performance
- * Hello now sends the newer EHLO message before HELO as per RFC 2821
- * Removed the boundary class and replaced it with GetBoundary
- * Removed queue support methods
- * New $Hostname variable
- * New Message-ID header
- * Received header reformat
- * Helo variable default changed to $Hostname
- * Removed extra spaces in Content-Type definition (#667182)
- * Return-Path should be set to Sender when set
- * Adds Q or B encoding to headers when necessary
- * quoted-encoding should now encode NULs \000
- * Fixed encoding of body/AltBody (#553370)
- * Adds "To: undisclosed-recipients:;" when all recipients are hidden (BCC)
- * Multiple bug fixes
- Version 1.65 (Fri, Aug 09 2002)
- * Fixed non-visible attachment bug (#585097) for Outlook
- * SMTP connections are now closed after each transaction
- * Fixed SMTP::Expand return value
- * Converted SMTP class documentation to phpDocumentor format
- Version 1.62 (Wed, Jun 26 2002)
- * Fixed multi-attach bug
- * Set proper word wrapping
- * Reduced memory use with attachments
- * Added more debugging
- * Changed documentation to phpDocumentor format
- Version 1.60 (Sat, Mar 30 2002)
- * Sendmail pipe and address patch (Christian Holtje)
- * Added embedded image and read confirmation support (A. Ognio)
- * Added unit tests
- * Added SMTP timeout support (*nix only)
- * Added possibly temporary PluginDir variable for SMTP class
- * Added LE message line ending variable
- * Refactored boundary and attachment code
- * Eliminated SMTP class warnings
- * Added SendToQueue method for future queuing support
- Version 1.54 (Wed, Dec 19 2001)
- * Add some queuing support code
- * Fixed a pesky multi/alt bug
- * Messages are no longer forced to have "To" addresses
- Version 1.50 (Thu, Nov 08 2001)
- * Fix extra lines when not using SMTP mailer
- * Set WordWrap variable to int with a zero default
- Version 1.47 (Tue, Oct 16 2001)
- * Fixed Received header code format
- * Fixed AltBody order error
- * Fixed alternate port warning
- Version 1.45 (Tue, Sep 25 2001)
- * Added enhanced SMTP debug support
- * Added support for multiple ports on SMTP
- * Added Received header for tracing
- * Fixed AddStringAttachment encoding
- * Fixed possible header name quote bug
- * Fixed wordwrap() trim bug
- * Couple other small bug fixes
- Version 1.41 (Wed, Aug 22 2001)
- * Fixed AltBody bug w/o attachments
- * Fixed rfc_date() for certain mail servers
- Version 1.40 (Sun, Aug 12 2001)
- * Added multipart/alternative support (AltBody)
- * Documentation update
- * Fixed bug in Mercury MTA
- Version 1.29 (Fri, Aug 03 2001)
- * Added AddStringAttachment() method
- * Added SMTP authentication support
- Version 1.28 (Mon, Jul 30 2001)
- * Fixed a typo in SMTP class
- * Fixed header issue with Imail (win32) SMTP server
- * Made fopen() calls for attachments use "rb" to fix win32 error
- Version 1.25 (Mon, Jul 02 2001)
- * Added RFC 822 date fix (Patrice)
- * Added improved error handling by adding a $ErrorInfo variable
- * Removed MailerDebug variable (obsolete with new error handler)
- Version 1.20 (Mon, Jun 25 2001)
- * Added quoted-printable encoding (Patrice)
- * Set Version as public and removed PrintVersion()
- * Changed phpdoc to only display public variables and methods
- Version 1.19 (Thu, Jun 21 2001)
- * Fixed MS Mail header bug
- * Added fix for Bcc problem with mail(). *Does not work on Win32*
- (See PHP bug report: http://www.php.net/bugs.php?id=11616)
- * mail() no longer passes a fifth parameter when not needed
- Version 1.15 (Fri, Jun 15 2001)
- [Note: these changes contributed by Patrice Fournier]
- * Changed all remaining \n to \r\n
- * Bcc: header no longer writen to message except
- when sent directly to sendmail
- * Added a small message to non-MIME compliant mail reader
- * Added Sender variable to change the Sender email
- used in -f for sendmail/mail and in 'MAIL FROM' for smtp mode
- * Changed boundary setting to a place it will be set only once
- * Removed transfer encoding for whole message when using multipart
- * Message body now uses Encoding in multipart messages
- * Can set encoding and type to attachments 7bit, 8bit
- and binary attachment are sent as is, base64 are encoded
- * Can set Encoding to base64 to send 8 bits body
- through 7 bits servers
- Version 1.10 (Tue, Jun 12 2001)
- * Fixed win32 mail header bug (printed out headers in message body)
- Version 1.09 (Fri, Jun 08 2001)
- * Changed date header to work with Netscape mail programs
- * Altered phpdoc documentation
- Version 1.08 (Tue, Jun 05 2001)
- * Added enhanced error-checking
- * Added phpdoc documentation to source
- Version 1.06 (Fri, Jun 01 2001)
- * Added optional name for file attachments
- Version 1.05 (Tue, May 29 2001)
- * Code cleanup
- * Eliminated sendmail header warning message
- * Fixed possible SMTP error
- Version 1.03 (Thu, May 24 2001)
- * Fixed problem where qmail sends out duplicate messages
- Version 1.02 (Wed, May 23 2001)
- * Added multiple recipient and attachment Clear* methods
- * Added Sendmail public variable
- * Fixed problem with loading SMTP library multiple times
- Version 0.98 (Tue, May 22 2001)
- * Fixed problem with redundant mail hosts sending out multiple messages
- * Added additional error handler code
- * Added AddCustomHeader() function
- * Added support for Microsoft mail client headers (affects priority)
- * Fixed small bug with Mailer variable
- * Added PrintVersion() function
- Version 0.92 (Tue, May 15 2001)
- * Changed file names to class.phpmailer.php and class.smtp.php to match
- current PHP class trend.
- * Fixed problem where body not being printed when a message is attached
- * Several small bug fixes
- Version 0.90 (Tue, April 17 2001)
- * Intial public release
|