Project

General

Profile

« Previous | Next » 

Revision 907

Added by doc almost 16 years ago

updated external PHPMailer class to latest version (v2.3)

View differences:

ChangeLog.txt
1
ChangeLog
2

  
3
Version 2.0.0 (Sun, Dec 02 2007)
4
* implemented updated EncodeQP (thanks to coolbru, aka Marcus Bointon)
5
* finished all testing, all known bugs corrected, enhancements tested
6
- note: designed for PHP4, but will work with PHP5 (not compatible with
7
  E_STRICT) ... full PHP5 version of PHPMailer released separately. 
8
  PHP5 version will NOT work with PHP4.
9

  
10
Version 2.0.0 rc2 (Fri, Nov 16 2007), interim release
11
* implements new property to control VERP in class.smtp.php
12
  example (requires instantiating class.smtp.php):
13
  $mail->do_verp = true;
14
* POP-before-SMTP functionality included, thanks to Richard Davey
15
  (see class.pop3.php & pop3_before_smtp_test.php for examples)
16
* included example showing how to use PHPMailer with GMAIL
17
* fixed the missing Cc in SendMail() and Mail()
18

  
19
******************
20
A note on sending bulk emails:
21

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

  
29
A partial example for use with PHPMailer:
30

  
31
$mail->AddAddress("undisclosed-recipients:;");
32
$mail->AddBCC("email1@anydomain.com,email2@anyotherdomain.com,email3@anyalternatedomain.com");
33

  
34
Many email service providers restrict the number of emails that can be sent
35
in any given time period. Often that is between 50 - 60 emails maximum
36
per hour or per send session.
37

  
38
If that's the case, then break up your Bcc lists into chunks that are one
39
less than your limit, and put a pause in your script.
40
*******************
41

  
42
Version 2.0.0 rc1 (Thu, Nov 08 2007), interim release
43
* dramatically simplified using inline graphics ... it's fully automated and requires no user input
44
* added automatic document type detection for attachments and pictures
45
* added MsgHTML() function to replace Body tag for HTML emails
46
* fixed the SendMail security issues (input validation vulnerability)
47
* enhanced the AddAddresses functionality so that the "Name" portion is used in the email address
48
* removed the need to use the AltBody method (set from the HTML, or default text used)
49
* set the PHP Mail() function as the default (still support SendMail, SMTP Mail)
50
* removed the need to set the IsHTML property (set automatically)
51
* added Estonian language file by Indrek Päri
52
* added header injection patch
53
* added "set" method to permit users to create their own pseudo-properties like 'X-Headers', etc.
54
  example of use:
55
  $mail->set('X-Priority', '3');
56
  $mail->set('X-MSMail-Priority', 'Normal');
57
* fixed warning message in SMTP get_lines method
58
* added TLS/SSL SMTP support
59
  example of use:
60
  $mail = new PHPMailer();
61
	$mail->Mailer = "smtp";
62
	$mail->Host = "smtp.example.com";
63
	$mail->SMTPSecure   = "tls"; // option
64
	//$mail->SMTPSecure   = "ssl";  // option
65
	...
66
  $mail->Send();
67
* PHPMailer has been tested with PHP4 (4.4.7) and PHP5 (5.2.7)
68
* Works with PHP installed as a module or as CGI-PHP
69
- NOTE: will NOT work with PHP5 in E_STRICT error mode
70

  
71
Version 1.73 (Sun, Jun 10 2005)
72
* Fixed denial of service bug: http://www.cybsec.com/vuln/PHPMailer-DOS.pdf
73
* Now has a total of 20 translations
74
* Fixed alt attachments bug: http://tinyurl.com/98u9k
75

  
76
Version 1.72 (Wed, May 25 2004)
77
* Added Dutch, Swedish, Czech, Norwegian, and Turkish translations.
78
* Received: Removed this method because spam filter programs like 
79
SpamAssassin reject this header.
80
* Fixed error count bug.
81
* SetLanguage default is now "language/".
82
* Fixed magic_quotes_runtime bug.
83

  
84
Version 1.71 (Tue, Jul 28 2003)
85
* Made several speed enhancements
86
* Added German and Italian translation files
87
* Fixed HELO/AUTH bugs on keep-alive connects
88
* Now provides an error message if language file does not load
89
* Fixed attachment EOL bug
90
* Updated some unclear documentation
91
* Added additional tests and improved others
92

  
93
Version 1.70 (Mon, Jun 20 2003)
94
* Added SMTP keep-alive support
95
* Added IsError method for error detection
96
* Added error message translation support (SetLanguage)
97
* Refactored many methods to increase library performance
98
* Hello now sends the newer EHLO message before HELO as per RFC 2821
99
* Removed the boundary class and replaced it with GetBoundary
100
* Removed queue support methods
101
* New $Hostname variable
102
* New Message-ID header
103
* Received header reformat
104
* Helo variable default changed to $Hostname
105
* Removed extra spaces in Content-Type definition (#667182)
106
* Return-Path should be set to Sender when set
107
* Adds Q or B encoding to headers when necessary
108
* quoted-encoding should now encode NULs \000
109
* Fixed encoding of body/AltBody (#553370)
110
* Adds "To: undisclosed-recipients:;" when all recipients are hidden (BCC)
111
* Multiple bug fixes
112

  
113
Version 1.65 (Fri, Aug 09 2002)
114
* Fixed non-visible attachment bug (#585097) for Outlook
115
* SMTP connections are now closed after each transaction
116
* Fixed SMTP::Expand return value
117
* Converted SMTP class documentation to phpDocumentor format
118

  
119
Version 1.62 (Wed, Jun 26 2002)
120
* Fixed multi-attach bug
121
* Set proper word wrapping
122
* Reduced memory use with attachments
123
* Added more debugging
124
* Changed documentation to phpDocumentor format
125

  
126
Version 1.60 (Sat, Mar 30 2002)
127
* Sendmail pipe and address patch (Christian Holtje)
128
* Added embedded image and read confirmation support (A. Ognio)
129
* Added unit tests
130
* Added SMTP timeout support (*nix only)
131
* Added possibly temporary PluginDir variable for SMTP class
132
* Added LE message line ending variable
133
* Refactored boundary and attachment code
134
* Eliminated SMTP class warnings
135
* Added SendToQueue method for future queuing support
136

  
137
Version 1.54 (Wed, Dec 19 2001)
138
* Add some queuing support code
139
* Fixed a pesky multi/alt bug
140
* Messages are no longer forced to have "To" addresses
141

  
142
Version 1.50 (Thu, Nov 08 2001)
143
* Fix extra lines when not using SMTP mailer
144
* Set WordWrap variable to int with a zero default
145

  
146
Version 1.47 (Tue, Oct 16 2001)
147
* Fixed Received header code format
148
* Fixed AltBody order error
149
* Fixed alternate port warning
150

  
151
Version 1.45 (Tue, Sep 25 2001)
152
* Added enhanced SMTP debug support
153
* Added support for multiple ports on SMTP
154
* Added Received header for tracing
155
* Fixed AddStringAttachment encoding
156
* Fixed possible header name quote bug
157
* Fixed wordwrap() trim bug
158
* Couple other small bug fixes
159

  
160
Version 1.41 (Wed, Aug 22 2001)
161
* Fixed AltBody bug w/o attachments
162
* Fixed rfc_date() for certain mail servers
163

  
164
Version 1.40 (Sun, Aug 12 2001)
165
* Added multipart/alternative support (AltBody)
166
* Documentation update
167
* Fixed bug in Mercury MTA
168

  
169
Version 1.29 (Fri, Aug 03 2001)
170
* Added AddStringAttachment() method
171
* Added SMTP authentication support
172

  
173
Version 1.28 (Mon, Jul 30 2001)
174
* Fixed a typo in SMTP class
175
* Fixed header issue with Imail (win32) SMTP server
176
* Made fopen() calls for attachments use "rb" to fix win32 error
177

  
178
Version 1.25 (Mon, Jul 02 2001)
179
* Added RFC 822 date fix (Patrice)
180
* Added improved error handling by adding a $ErrorInfo variable
181
* Removed MailerDebug variable (obsolete with new error handler)
182

  
183
Version 1.20 (Mon, Jun 25 2001)
184
* Added quoted-printable encoding (Patrice)
185
* Set Version as public and removed PrintVersion()
186
* Changed phpdoc to only display public variables and methods
187

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

  
194
Version 1.15 (Fri, Jun 15 2001)
195
[Note: these changes contributed by Patrice Fournier]
196
* Changed all remaining \n to \r\n
197
* Bcc: header no longer writen to message except
198
when sent directly to sendmail
199
* Added a small message to non-MIME compliant mail reader
200
* Added Sender variable to change the Sender email
201
used in -f for sendmail/mail and in 'MAIL FROM' for smtp mode
202
* Changed boundary setting to a place it will be set only once
203
* Removed transfer encoding for whole message when using multipart
204
* Message body now uses Encoding in multipart messages
205
* Can set encoding and type to attachments 7bit, 8bit
206
and binary attachment are sent as is, base64 are encoded
207
* Can set Encoding to base64 to send 8 bits body
208
through 7 bits servers
209

  
210
Version 1.10 (Tue, Jun 12 2001)
211
* Fixed win32 mail header bug (printed out headers in message body)
212

  
213
Version 1.09 (Fri, Jun 08 2001)
214
* Changed date header to work with Netscape mail programs
215
* Altered phpdoc documentation
216

  
217
Version 1.08 (Tue, Jun 05 2001)
218
* Added enhanced error-checking
219
* Added phpdoc documentation to source
220

  
221
Version 1.06 (Fri, Jun 01 2001)
222
* Added optional name for file attachments
223

  
224
Version 1.05 (Tue, May 29 2001)
225
* Code cleanup
226
* Eliminated sendmail header warning message
227
* Fixed possible SMTP error
228

  
229
Version 1.03 (Thu, May 24 2001)
230
* Fixed problem where qmail sends out duplicate messages
231

  
232
Version 1.02 (Wed, May 23 2001)
233
* Added multiple recipient and attachment Clear* methods
234
* Added Sendmail public variable
235
* Fixed problem with loading SMTP library multiple times
236

  
237
Version 0.98 (Tue, May 22 2001)
238
* Fixed problem with redundant mail hosts sending out multiple messages
239
* Added additional error handler code
240
* Added AddCustomHeader() function
241
* Added support for Microsoft mail client headers (affects priority)
242
* Fixed small bug with Mailer variable
243
* Added PrintVersion() function
244

  
245
Version 0.92 (Tue, May 15 2001)
246
* Changed file names to class.phpmailer.php and class.smtp.php to match
247
  current PHP class trend.
248
* Fixed problem where body not being printed when a message is attached
249
* Several small bug fixes
250

  
251
Version 0.90 (Tue, April 17 2001)
252
* Intial public release
1
ChangeLog
2

  
3
Version 2.0.3 (November 08 2008)
4
* fixed line 1041 in class.smtp.php (endless loop from missing = sign)
5
* fixed duplicate images in email body
6
* removed English language from language files and made it a default within
7
  class.phpmailer.php - if no language is found, it will default to use
8
  the english language translation
9
* corrected $basedir to $directory
10
* changed default of $LE to "\r\n" to comply with RFC 2822. Can be set by the user
11
  if default is not acceptable
12
* removed trim() from return results in EncodeQP
13
* changed $this->AltBody = $textMsg; to $this->AltBody = html_entity_decode($textMsg);
14
* We have removed the /phpdoc from the downloads. All documentation is now on
15
  the http://phpmailer.codeworxtech.com website.
16

  
17
Version 2.0.2 (June 04 2008)
18

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

  
23
* added S/MIME functionality (ability to digitally sign emails)
24
  BIG THANKS TO "sergiocambra" for posting this patch back in November 2007.
25
  The "Signed Emails" functionality adds the Sign method to pass the private key
26
  filename and the password to read it, and then email will be sent with
27
  content-type multipart/signed and with the digital signature attached.
28
* added ability to define path (mainly for embedded images)
29
  function MsgHTML($message,$basedir='') ... where:
30
  $basedir is the fully qualified path
31
* fixed MsgHTML() function:
32
  - Embedded Images where images are specified by <protocol>:// will not be altered or embedded
33
* fixed the return value of SMTP exit code ( pclose )
34
* addressed issue of multibyte characters in subject line and truncating
35
* added ability to have user specified Message ID
36
  (default is still that PHPMailer create a unique Message ID)
37
* corrected unidentified message type to 'application/octet-stream'
38
* fixed chunk_split() multibyte issue (thanks to Colin Brown, et al).
39
* added check for added attachments
40
* enhanced conversion of HTML to text in MsgHTML (thanks to "brunny")
41

  
42
Version 2.0.1 (Sun, Dec 02 2007)
43
* corrected incorrect version numbers in all three classes
44

  
45
Version 2.0.0 (Sun, Dec 02 2007)
46
* implemented updated EncodeQP (thanks to coolbru, aka Marcus Bointon)
47
* finished all testing, all known bugs corrected, enhancements tested
48
- note: designed for PHP4, but will work with PHP5 (not compatible with
49
  E_STRICT) ... full PHP5 version of PHPMailer released separately.
50
  PHP5 version will NOT work with PHP4.
51

  
52
Version 2.0.0 rc2 (Fri, Nov 16 2007), interim release
53
* implements new property to control VERP in class.smtp.php
54
  example (requires instantiating class.smtp.php):
55
  $mail->do_verp = true;
56
* POP-before-SMTP functionality included, thanks to Richard Davey
57
  (see class.pop3.php & pop3_before_smtp_test.php for examples)
58
* included example showing how to use PHPMailer with GMAIL
59
* fixed the missing Cc in SendMail() and Mail()
60

  
61
******************
62
A note on sending bulk emails:
63

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

  
71
A partial example for use with PHPMailer:
72

  
73
$mail->AddAddress("undisclosed-recipients:;");
74
$mail->AddBCC("email1@anydomain.com,email2@anyotherdomain.com,email3@anyalternatedomain.com");
75

  
76
Many email service providers restrict the number of emails that can be sent
77
in any given time period. Often that is between 50 - 60 emails maximum
78
per hour or per send session.
79

  
80
If that's the case, then break up your Bcc lists into chunks that are one
81
less than your limit, and put a pause in your script.
82
*******************
83

  
84
Version 2.0.0 rc1 (Thu, Nov 08 2007), interim release
85
* dramatically simplified using inline graphics ... it's fully automated and
86
  requires no user input
87
* added automatic document type detection for attachments and pictures
88
* added MsgHTML() function to replace Body tag for HTML emails
89
* fixed the SendMail security issues (input validation vulnerability)
90
* enhanced the AddAddresses functionality so that the "Name" portion is used
91
  in the email address
92
* removed the need to use the AltBody method (set from the HTML, or default
93
  text used)
94
* set the PHP Mail() function as the default (still support SendMail, SMTP Mail)
95
* removed the need to set the IsHTML property (set automatically)
96
* added Estonian language file by Indrek P&auml;ri
97
* added header injection patch
98
* added "set" method to permit users to create their own pseudo-properties
99
  like 'X-Headers', etc.
100
  example of use:
101
  $mail->set('X-Priority', '3');
102
  $mail->set('X-MSMail-Priority', 'Normal');
103
* fixed warning message in SMTP get_lines method
104
* added TLS/SSL SMTP support
105
  example of use:
106
  $mail = new PHPMailer();
107
  $mail->Mailer = "smtp";
108
  $mail->Host = "smtp.example.com";
109
  $mail->SMTPSecure   = "tls"; // option
110
  //$mail->SMTPSecure   = "ssl";  // option
111
  ...
112
  $mail->Send();
113
* PHPMailer has been tested with PHP4 (4.4.7) and PHP5 (5.2.7)
114
* Works with PHP installed as a module or as CGI-PHP
115
- NOTE: will NOT work with PHP5 in E_STRICT error mode
116

  
117
Version 1.73 (Sun, Jun 10 2005)
118
* Fixed denial of service bug: http://www.cybsec.com/vuln/PHPMailer-DOS.pdf
119
* Now has a total of 20 translations
120
* Fixed alt attachments bug: http://tinyurl.com/98u9k
121

  
122
Version 1.72 (Wed, May 25 2004)
123
* Added Dutch, Swedish, Czech, Norwegian, and Turkish translations.
124
* Received: Removed this method because spam filter programs like
125
SpamAssassin reject this header.
126
* Fixed error count bug.
127
* SetLanguage default is now "language/".
128
* Fixed magic_quotes_runtime bug.
129

  
130
Version 1.71 (Tue, Jul 28 2003)
131
* Made several speed enhancements
132
* Added German and Italian translation files
133
* Fixed HELO/AUTH bugs on keep-alive connects
134
* Now provides an error message if language file does not load
135
* Fixed attachment EOL bug
136
* Updated some unclear documentation
137
* Added additional tests and improved others
138

  
139
Version 1.70 (Mon, Jun 20 2003)
140
* Added SMTP keep-alive support
141
* Added IsError method for error detection
142
* Added error message translation support (SetLanguage)
143
* Refactored many methods to increase library performance
144
* Hello now sends the newer EHLO message before HELO as per RFC 2821
145
* Removed the boundary class and replaced it with GetBoundary
146
* Removed queue support methods
147
* New $Hostname variable
148
* New Message-ID header
149
* Received header reformat
150
* Helo variable default changed to $Hostname
151
* Removed extra spaces in Content-Type definition (#667182)
152
* Return-Path should be set to Sender when set
153
* Adds Q or B encoding to headers when necessary
154
* quoted-encoding should now encode NULs \000
155
* Fixed encoding of body/AltBody (#553370)
156
* Adds "To: undisclosed-recipients:;" when all recipients are hidden (BCC)
157
* Multiple bug fixes
158

  
159
Version 1.65 (Fri, Aug 09 2002)
160
* Fixed non-visible attachment bug (#585097) for Outlook
161
* SMTP connections are now closed after each transaction
162
* Fixed SMTP::Expand return value
163
* Converted SMTP class documentation to phpDocumentor format
164

  
165
Version 1.62 (Wed, Jun 26 2002)
166
* Fixed multi-attach bug
167
* Set proper word wrapping
168
* Reduced memory use with attachments
169
* Added more debugging
170
* Changed documentation to phpDocumentor format
171

  
172
Version 1.60 (Sat, Mar 30 2002)
173
* Sendmail pipe and address patch (Christian Holtje)
174
* Added embedded image and read confirmation support (A. Ognio)
175
* Added unit tests
176
* Added SMTP timeout support (*nix only)
177
* Added possibly temporary PluginDir variable for SMTP class
178
* Added LE message line ending variable
179
* Refactored boundary and attachment code
180
* Eliminated SMTP class warnings
181
* Added SendToQueue method for future queuing support
182

  
183
Version 1.54 (Wed, Dec 19 2001)
184
* Add some queuing support code
185
* Fixed a pesky multi/alt bug
186
* Messages are no longer forced to have "To" addresses
187

  
188
Version 1.50 (Thu, Nov 08 2001)
189
* Fix extra lines when not using SMTP mailer
190
* Set WordWrap variable to int with a zero default
191

  
192
Version 1.47 (Tue, Oct 16 2001)
193
* Fixed Received header code format
194
* Fixed AltBody order error
195
* Fixed alternate port warning
196

  
197
Version 1.45 (Tue, Sep 25 2001)
198
* Added enhanced SMTP debug support
199
* Added support for multiple ports on SMTP
200
* Added Received header for tracing
201
* Fixed AddStringAttachment encoding
202
* Fixed possible header name quote bug
203
* Fixed wordwrap() trim bug
204
* Couple other small bug fixes
205

  
206
Version 1.41 (Wed, Aug 22 2001)
207
* Fixed AltBody bug w/o attachments
208
* Fixed rfc_date() for certain mail servers
209

  
210
Version 1.40 (Sun, Aug 12 2001)
211
* Added multipart/alternative support (AltBody)
212
* Documentation update
213
* Fixed bug in Mercury MTA
214

  
215
Version 1.29 (Fri, Aug 03 2001)
216
* Added AddStringAttachment() method
217
* Added SMTP authentication support
218

  
219
Version 1.28 (Mon, Jul 30 2001)
220
* Fixed a typo in SMTP class
221
* Fixed header issue with Imail (win32) SMTP server
222
* Made fopen() calls for attachments use "rb" to fix win32 error
223

  
224
Version 1.25 (Mon, Jul 02 2001)
225
* Added RFC 822 date fix (Patrice)
226
* Added improved error handling by adding a $ErrorInfo variable
227
* Removed MailerDebug variable (obsolete with new error handler)
228

  
229
Version 1.20 (Mon, Jun 25 2001)
230
* Added quoted-printable encoding (Patrice)
231
* Set Version as public and removed PrintVersion()
232
* Changed phpdoc to only display public variables and methods
233

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

  
240
Version 1.15 (Fri, Jun 15 2001)
241
[Note: these changes contributed by Patrice Fournier]
242
* Changed all remaining \n to \r\n
243
* Bcc: header no longer writen to message except
244
when sent directly to sendmail
245
* Added a small message to non-MIME compliant mail reader
246
* Added Sender variable to change the Sender email
247
used in -f for sendmail/mail and in 'MAIL FROM' for smtp mode
248
* Changed boundary setting to a place it will be set only once
249
* Removed transfer encoding for whole message when using multipart
250
* Message body now uses Encoding in multipart messages
251
* Can set encoding and type to attachments 7bit, 8bit
252
and binary attachment are sent as is, base64 are encoded
253
* Can set Encoding to base64 to send 8 bits body
254
through 7 bits servers
255

  
256
Version 1.10 (Tue, Jun 12 2001)
257
* Fixed win32 mail header bug (printed out headers in message body)
258

  
259
Version 1.09 (Fri, Jun 08 2001)
260
* Changed date header to work with Netscape mail programs
261
* Altered phpdoc documentation
262

  
263
Version 1.08 (Tue, Jun 05 2001)
264
* Added enhanced error-checking
265
* Added phpdoc documentation to source
266

  
267
Version 1.06 (Fri, Jun 01 2001)
268
* Added optional name for file attachments
269

  
270
Version 1.05 (Tue, May 29 2001)
271
* Code cleanup
272
* Eliminated sendmail header warning message
273
* Fixed possible SMTP error
274

  
275
Version 1.03 (Thu, May 24 2001)
276
* Fixed problem where qmail sends out duplicate messages
277

  
278
Version 1.02 (Wed, May 23 2001)
279
* Added multiple recipient and attachment Clear* methods
280
* Added Sendmail public variable
281
* Fixed problem with loading SMTP library multiple times
282

  
283
Version 0.98 (Tue, May 22 2001)
284
* Fixed problem with redundant mail hosts sending out multiple messages
285
* Added additional error handler code
286
* Added AddCustomHeader() function
287
* Added support for Microsoft mail client headers (affects priority)
288
* Fixed small bug with Mailer variable
289
* Added PrintVersion() function
290

  
291
Version 0.92 (Tue, May 15 2001)
292
* Changed file names to class.phpmailer.php and class.smtp.php to match
293
  current PHP class trend.
294
* Fixed problem where body not being printed when a message is attached
295
* Several small bug fixes
296

  
297
Version 0.90 (Tue, April 17 2001)
298
* Intial public release

Also available in: Unified diff