Project

General

Profile

1
ChangeLog
2

    
3
NOTE: THIS VERSION OF PHPMAILER IS DESIGNED FOR PHP5/PHP6.
4
      IT WILL NOT WORK WITH PHP4.
5

    
6
Version 5.2 (July 19, 2011)
7
* protected MIME body and header
8
* better DKIM DNS Resource Record support
9
* better aly handling
10
* htmlfilter class added to extras
11
* moved to Apache Extras
12

    
13
Version 5.1 (October 20, 2009)
14
* fixed filename issue with AddStringAttachment (thanks to Tony)
15
* fixed "SingleTo" property, now works with Senmail, Qmail, and SMTP in
16
  addition to PHP mail()
17
* added DKIM digital signing functionality
18
  New properties:
19
  - DKIM_domain (sets the domain name)
20
  - DKIM_private (holds DKIM private key)
21
  - DKIM_passphrase (holds your DKIM passphrase)
22
  - DKIM_selector (holds the DKIM "selector")
23
  - DKIM_identity (holds the identifying email address)
24
* added callback function support
25
  - callback function parameters include:
26
    result, to, cc, bcc, subject and body
27
  * see the test/test_callback.php file for usage.
28
* added "auto" identity functionality
29
  - can automatically add:
30
    - Return-path (if Sender not set)
31
    - Reply-To (if ReplyTo not set)
32
  - can be disabled:
33
    - $mail->SetFrom('yourname@yourdomain.com','First Last',false);
34
    - or by adding the $mail->Sender and/or $mail->ReplyTo properties
35
  Note: "auto" identity added to help with emails ending up in spam
36
  or junk boxes because of missing headers
37

    
38
Version 5.0.2 (May 24, 2009)
39
* Fix for missing attachments when inline graphics are present
40
* Fix for missing Cc in header when using SMTP (mail was sent,
41
  but not displayed in header -- Cc receiver only saw email To: 
42
  line and no Cc line, but did get the email (To receiver
43
  saw same)
44

    
45
Version 5.0.1 (April 05, 2009)
46
* Temporary fix for missing attachments
47

    
48
Version 5.0.0 (April 02, 2009)
49

    
50
* With the release of this version, we are initiating a new version numbering
51
  system to differentiate from the PHP4 version of PHPMailer.
52
* Most notable in this release is fully object oriented code.
53
class.smtp.php:
54
* Refactored class.smtp.php to support new exception handling
55
  code size reduced from 29.2 Kb to 25.6 Kb
56
* Removed unnecessary functions from class.smtp.php:
57
  public function Expand($name) {
58
  public function Help($keyword="") {
59
  public function Noop() {
60
  public function Send($from) {
61
  public function SendOrMail($from) {
62
  public function Verify($name) {
63
class.phpmailer.php:
64
* Refactored class.phpmailer.php with new exception handling
65
* Changed processing functionality of Sendmail and Qmail so they cannot be
66
  inadvertently used
67
* removed getFile() function, just became a simple wrapper for
68
  file_get_contents()
69
* added check for PHP version (will gracefully exit if not at least PHP 5.0)
70
class.phpmailer.php enhancements
71
* enhanced code to check if an attachment source is the same as an embedded or
72
  inline graphic source to eliminate duplicate attachments
73
New /test_script
74
* We have written a test script you can use to test the script as part of your
75
  installation. Once you press submit, the test script will send a multi-mime
76
  email with either the message you type in or an HTML email with an inline
77
  graphic. Two attachments are included in the email (one of the attachments
78
  is also the inline graphic so you can see that only one copy of the graphic
79
  is sent in the email). The test script will also display the functional
80
  script that you can copy/paste to your editor to duplicate the functionality.
81
New examples
82
* All new examples in both basic and advanced modes. Advanced examples show
83
  Exception handling.
84
PHPDocumentator (phpdocs) documentation for PHPMailer version 5.0.0
85
* all new documentation
86

    
87
Please note: the website has been updated to reflect the changes in PHPMailer
88
version 5.0.0. http://phpmailer.codeworxtech.com/
89

    
90
Version 2.3 (November 06, 2008)
91

    
92
* added Arabic language (many thanks to Bahjat Al Mostafa)
93
* removed English language from language files and made it a default within
94
  class.phpmailer.php - if no language is found, it will default to use
95
  the english language translation
96
* fixed public/private declarations
97
* corrected line 1728, $basedir to $directory
98
* added $sign_cert_file to avoid improper duplicate use of $sign_key_file
99
* corrected $this->Hello on line 612 to $this->Helo
100
* changed default of $LE to "\r\n" to comply with RFC 2822. Can be set by the user
101
  if default is not acceptable
102
* removed trim() from return results in EncodeQP
103
* /test and three files it contained are removed from version 2.3
104
* fixed phpunit.php for compliance with PHP5
105
* changed $this->AltBody = $textMsg; to $this->AltBody = html_entity_decode($textMsg);
106
* We have removed the /phpdoc from the downloads. All documentation is now on
107
  the http://phpmailer.codeworxtech.com website.
108

    
109
Version 2.2.1 () July 19 2008
110

    
111
* fixed line 1092 in class.smtp.php (my apologies, error on my part)
112

    
113
Version 2.2 () July 15 2008
114

    
115
* Fixed redirect issue (display of UTF-8 in thank you redirect)
116
* fixed error in getResponse function declaration (class.pop3.php)
117
* PHPMailer now PHP6 compliant
118
* fixed line 1092 in class.smtp.php (endless loop from missing = sign)
119

    
120
Version 2.1 (Wed, June 04 2008)
121

    
122
** NOTE: WE HAVE A NEW LANGUAGE VARIABLE FOR DIGITALLY SIGNED S/MIME EMAILS.
123
   IF YOU CAN HELP WITH LANGUAGES OTHER THAN ENGLISH AND SPANISH, IT WOULD BE
124
   APPRECIATED.
125

    
126
* added S/MIME functionality (ability to digitally sign emails)
127
  BIG THANKS TO "sergiocambra" for posting this patch back in November 2007.
128
  The "Signed Emails" functionality adds the Sign method to pass the private key
129
  filename and the password to read it, and then email will be sent with
130
  content-type multipart/signed and with the digital signature attached.
131
* fully compatible with E_STRICT error level
132
  - Please note:
133
    In about half the test environments this development version was subjected
134
    to, an error was thrown for the date() functions used (line 1565 and 1569).
135
    This is NOT a PHPMailer error, it is the result of an incorrectly configured
136
    PHP5 installation. The fix is to modify your 'php.ini' file and include the
137
    date.timezone = America/New York
138
    directive, to your own server timezone
139
  - If you do get this error, and are unable to access your php.ini file:
140
    In your PHP script, add
141
    date_default_timezone_set('America/Toronto');
142
    - do not try to use
143
    $myVar = date_default_timezone_get();
144
    as a test, it will throw an error.
145
* added ability to define path (mainly for embedded images)
146
  function MsgHTML($message,$basedir='') ... where:
147
  $basedir is the fully qualified path
148
* fixed MsgHTML() function:
149
  - Embedded Images where images are specified by <protocol>:// will not be altered or embedded
150
* fixed the return value of SMTP exit code ( pclose )
151
* addressed issue of multibyte characters in subject line and truncating
152
* added ability to have user specified Message ID
153
  (default is still that PHPMailer create a unique Message ID)
154
* corrected unidentified message type to 'application/octet-stream'
155
* fixed chunk_split() multibyte issue (thanks to Colin Brown, et al).
156
* added check for added attachments
157
* enhanced conversion of HTML to text in MsgHTML (thanks to "brunny")
158

    
159
Version 2.1.0beta2 (Sun, Dec 02 2007)
160
* implemented updated EncodeQP (thanks to coolbru, aka Marcus Bointon)
161
* finished all testing, all known bugs corrected, enhancements tested
162
- note: will NOT work with PHP4.
163

    
164
please note, this is BETA software
165
** DO NOT USE THIS IN PRODUCTION OR LIVE PROJECTS
166
INTENDED STRICTLY FOR TESTING
167

    
168
Version 2.1.0beta1
169
please note, this is BETA software
170
** DO NOT USE THIS IN PRODUCTION OR LIVE PROJECTS
171
INTENDED STRICTLY FOR TESTING
172

    
173
Version 2.0.0 rc2 (Fri, Nov 16 2007), interim release
174
* implements new property to control VERP in class.smtp.php
175
  example (requires instantiating class.smtp.php):
176
  $mail->do_verp = true;
177
* POP-before-SMTP functionality included, thanks to Richard Davey
178
  (see class.pop3.php & pop3_before_smtp_test.php for examples)
179
* included example showing how to use PHPMailer with GMAIL
180
* fixed the missing Cc in SendMail() and Mail()
181

    
182
******************
183
A note on sending bulk emails:
184

    
185
If the email you are sending is not personalized, consider using the
186
"undisclosed-recipient:;" strategy. That is, put all of your recipients
187
in the Bcc field and set the To field to "undisclosed-recipients:;".
188
It's a lot faster (only one send) and saves quite a bit on resources.
189
Contrary to some opinions, this will not get you listed in spam engines -
190
it's a legitimate way for you to send emails.
191

    
192
A partial example for use with PHPMailer:
193

    
194
$mail->AddAddress("undisclosed-recipients:;");
195
$mail->AddBCC("email1@anydomain.com,email2@anyotherdomain.com,email3@anyalternatedomain.com");
196

    
197
Many email service providers restrict the number of emails that can be sent
198
in any given time period. Often that is between 50 - 60 emails maximum
199
per hour or per send session.
200

    
201
If that's the case, then break up your Bcc lists into chunks that are one
202
less than your limit, and put a pause in your script.
203
*******************
204

    
205
Version 2.0.0 rc1 (Thu, Nov 08 2007), interim release
206
* dramatically simplified using inline graphics ... it's fully automated and requires no user input
207
* added automatic document type detection for attachments and pictures
208
* added MsgHTML() function to replace Body tag for HTML emails
209
* fixed the SendMail security issues (input validation vulnerability)
210
* enhanced the AddAddresses functionality so that the "Name" portion is used in the email address
211
* removed the need to use the AltBody method (set from the HTML, or default text used)
212
* set the PHP Mail() function as the default (still support SendMail, SMTP Mail)
213
* removed the need to set the IsHTML property (set automatically)
214
* added Estonian language file by Indrek P&auml;ri
215
* added header injection patch
216
* added "set" method to permit users to create their own pseudo-properties like 'X-Headers', etc.
217
  example of use:
218
  $mail->set('X-Priority', '3');
219
  $mail->set('X-MSMail-Priority', 'Normal');
220
* fixed warning message in SMTP get_lines method
221
* added TLS/SSL SMTP support
222
  example of use:
223
  $mail = new PHPMailer();
224
  $mail->Mailer = "smtp";
225
  $mail->Host = "smtp.example.com";
226
  $mail->SMTPSecure   = "tls"; // option
227
  //$mail->SMTPSecure   = "ssl";  // option
228
  ...
229
  $mail->Send();
230
* PHPMailer has been tested with PHP4 (4.4.7) and PHP5 (5.2.7)
231
* Works with PHP installed as a module or as CGI-PHP
232
- NOTE: will NOT work with PHP5 in E_STRICT error mode
233

    
234
Version 1.73 (Sun, Jun 10 2005)
235
* Fixed denial of service bug: http://www.cybsec.com/vuln/PHPMailer-DOS.pdf
236
* Now has a total of 20 translations
237
* Fixed alt attachments bug: http://tinyurl.com/98u9k
238

    
239
Version 1.72 (Wed, May 25 2004)
240
* Added Dutch, Swedish, Czech, Norwegian, and Turkish translations.
241
* Received: Removed this method because spam filter programs like
242
SpamAssassin reject this header.
243
* Fixed error count bug.
244
* SetLanguage default is now "language/".
245
* Fixed magic_quotes_runtime bug.
246

    
247
Version 1.71 (Tue, Jul 28 2003)
248
* Made several speed enhancements
249
* Added German and Italian translation files
250
* Fixed HELO/AUTH bugs on keep-alive connects
251
* Now provides an error message if language file does not load
252
* Fixed attachment EOL bug
253
* Updated some unclear documentation
254
* Added additional tests and improved others
255

    
256
Version 1.70 (Mon, Jun 20 2003)
257
* Added SMTP keep-alive support
258
* Added IsError method for error detection
259
* Added error message translation support (SetLanguage)
260
* Refactored many methods to increase library performance
261
* Hello now sends the newer EHLO message before HELO as per RFC 2821
262
* Removed the boundary class and replaced it with GetBoundary
263
* Removed queue support methods
264
* New $Hostname variable
265
* New Message-ID header
266
* Received header reformat
267
* Helo variable default changed to $Hostname
268
* Removed extra spaces in Content-Type definition (#667182)
269
* Return-Path should be set to Sender when set
270
* Adds Q or B encoding to headers when necessary
271
* quoted-encoding should now encode NULs \000
272
* Fixed encoding of body/AltBody (#553370)
273
* Adds "To: undisclosed-recipients:;" when all recipients are hidden (BCC)
274
* Multiple bug fixes
275

    
276
Version 1.65 (Fri, Aug 09 2002)
277
* Fixed non-visible attachment bug (#585097) for Outlook
278
* SMTP connections are now closed after each transaction
279
* Fixed SMTP::Expand return value
280
* Converted SMTP class documentation to phpDocumentor format
281

    
282
Version 1.62 (Wed, Jun 26 2002)
283
* Fixed multi-attach bug
284
* Set proper word wrapping
285
* Reduced memory use with attachments
286
* Added more debugging
287
* Changed documentation to phpDocumentor format
288

    
289
Version 1.60 (Sat, Mar 30 2002)
290
* Sendmail pipe and address patch (Christian Holtje)
291
* Added embedded image and read confirmation support (A. Ognio)
292
* Added unit tests
293
* Added SMTP timeout support (*nix only)
294
* Added possibly temporary PluginDir variable for SMTP class
295
* Added LE message line ending variable
296
* Refactored boundary and attachment code
297
* Eliminated SMTP class warnings
298
* Added SendToQueue method for future queuing support
299

    
300
Version 1.54 (Wed, Dec 19 2001)
301
* Add some queuing support code
302
* Fixed a pesky multi/alt bug
303
* Messages are no longer forced to have "To" addresses
304

    
305
Version 1.50 (Thu, Nov 08 2001)
306
* Fix extra lines when not using SMTP mailer
307
* Set WordWrap variable to int with a zero default
308

    
309
Version 1.47 (Tue, Oct 16 2001)
310
* Fixed Received header code format
311
* Fixed AltBody order error
312
* Fixed alternate port warning
313

    
314
Version 1.45 (Tue, Sep 25 2001)
315
* Added enhanced SMTP debug support
316
* Added support for multiple ports on SMTP
317
* Added Received header for tracing
318
* Fixed AddStringAttachment encoding
319
* Fixed possible header name quote bug
320
* Fixed wordwrap() trim bug
321
* Couple other small bug fixes
322

    
323
Version 1.41 (Wed, Aug 22 2001)
324
* Fixed AltBody bug w/o attachments
325
* Fixed rfc_date() for certain mail servers
326

    
327
Version 1.40 (Sun, Aug 12 2001)
328
* Added multipart/alternative support (AltBody)
329
* Documentation update
330
* Fixed bug in Mercury MTA
331

    
332
Version 1.29 (Fri, Aug 03 2001)
333
* Added AddStringAttachment() method
334
* Added SMTP authentication support
335

    
336
Version 1.28 (Mon, Jul 30 2001)
337
* Fixed a typo in SMTP class
338
* Fixed header issue with Imail (win32) SMTP server
339
* Made fopen() calls for attachments use "rb" to fix win32 error
340

    
341
Version 1.25 (Mon, Jul 02 2001)
342
* Added RFC 822 date fix (Patrice)
343
* Added improved error handling by adding a $ErrorInfo variable
344
* Removed MailerDebug variable (obsolete with new error handler)
345

    
346
Version 1.20 (Mon, Jun 25 2001)
347
* Added quoted-printable encoding (Patrice)
348
* Set Version as public and removed PrintVersion()
349
* Changed phpdoc to only display public variables and methods
350

    
351
Version 1.19 (Thu, Jun 21 2001)
352
* Fixed MS Mail header bug
353
* Added fix for Bcc problem with mail(). *Does not work on Win32*
354
  (See PHP bug report: http://www.php.net/bugs.php?id=11616)
355
* mail() no longer passes a fifth parameter when not needed
356

    
357
Version 1.15 (Fri, Jun 15 2001)
358
[Note: these changes contributed by Patrice Fournier]
359
* Changed all remaining \n to \r\n
360
* Bcc: header no longer writen to message except
361
when sent directly to sendmail
362
* Added a small message to non-MIME compliant mail reader
363
* Added Sender variable to change the Sender email
364
used in -f for sendmail/mail and in 'MAIL FROM' for smtp mode
365
* Changed boundary setting to a place it will be set only once
366
* Removed transfer encoding for whole message when using multipart
367
* Message body now uses Encoding in multipart messages
368
* Can set encoding and type to attachments 7bit, 8bit
369
and binary attachment are sent as is, base64 are encoded
370
* Can set Encoding to base64 to send 8 bits body
371
through 7 bits servers
372

    
373
Version 1.10 (Tue, Jun 12 2001)
374
* Fixed win32 mail header bug (printed out headers in message body)
375

    
376
Version 1.09 (Fri, Jun 08 2001)
377
* Changed date header to work with Netscape mail programs
378
* Altered phpdoc documentation
379

    
380
Version 1.08 (Tue, Jun 05 2001)
381
* Added enhanced error-checking
382
* Added phpdoc documentation to source
383

    
384
Version 1.06 (Fri, Jun 01 2001)
385
* Added optional name for file attachments
386

    
387
Version 1.05 (Tue, May 29 2001)
388
* Code cleanup
389
* Eliminated sendmail header warning message
390
* Fixed possible SMTP error
391

    
392
Version 1.03 (Thu, May 24 2001)
393
* Fixed problem where qmail sends out duplicate messages
394

    
395
Version 1.02 (Wed, May 23 2001)
396
* Added multiple recipient and attachment Clear* methods
397
* Added Sendmail public variable
398
* Fixed problem with loading SMTP library multiple times
399

    
400
Version 0.98 (Tue, May 22 2001)
401
* Fixed problem with redundant mail hosts sending out multiple messages
402
* Added additional error handler code
403
* Added AddCustomHeader() function
404
* Added support for Microsoft mail client headers (affects priority)
405
* Fixed small bug with Mailer variable
406
* Added PrintVersion() function
407

    
408
Version 0.92 (Tue, May 15 2001)
409
* Changed file names to class.phpmailer.php and class.smtp.php to match
410
  current PHP class trend.
411
* Fixed problem where body not being printed when a message is attached
412
* Several small bug fixes
413

    
414
Version 0.90 (Tue, April 17 2001)
415
* Intial public release
(1-1/7)