Wed Feb 24 15:47:16 CET 2010 Paolo Molaro <lupus@ximian.com>
[mono.git] / mcs / class / System / System.Net.Mail / ChangeLog
1 2010-02-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
2
3         * SmtpClient.cs: generate correct MIME when there are text and html
4         linked resources. Fixes bug #579984. Patch by Ásgeir Halldórsson.
5
6 2010-01-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
7
8         * SmtpClient.cs: rethrow inner exception so that
9         AsyncCompletedEventArgs.Error gets the right value on error. Patch
10         by Dimitar Dobrev.
11
12 2009-12-11  Miguel de Icaza  <miguel@novell.com>
13
14         * SmtpClient.cs: Add half-implemented feature, TargetName for the
15         SPN SMTP system.
16         
17         * SmtpClient.cs, MailMessage.cs: Add 4.0 APIs.
18
19 2009-08-20  Sebastien Pouliot  <sebastien@ximian.com>
20
21         * SmtpClient.cs: Honor ServicePointManager.
22         ServerCertificateValidationCallback when provided
23
24 2009-08-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
25
26         * Attachment.cs: set the body encoding for multipart attachments.
27         Fixes bug #527177.
28
29 2009-06-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
30
31         * SmtpClient.cs: handle dots. Patch by Ted Unangst that fixes bug
32         #392875.
33
34 2008-11-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
35
36         * SmtpClient.cs: remove unused variable and obsolete comment.
37
38 2008-09-17  Miguel de Icaza  <miguel@novell.com>
39
40         * SmtpClient.cs: Actually set some of the headers like Priority,
41         ReplyTo and Sender.
42
43 2008-09-05  Atsushi Enomoto  <atsushi@ximian.com>
44
45         * SmtpClient.cs : attachment stream consumption was insufficient.
46           Fix bug #347553, by David Ion.
47
48 2008-08-16  Gert Driesen  <drieseng@users.sourceforge.net>
49
50         * SmtpClient.cs: Fixed paramname of Argument(Null)Exceptions to match
51         MS. Removed upper limit check for Port. Modified Send to no longer
52         allow a whitespace-only Host. Moved checks for SpecifiedPickupDirectory
53         delivery method to SendFile, and use Path.IsPathRooted to check for
54         absolute paths instead of using a unix-only check. In Send, wrap all
55         non-SMTP errors in an SmtpException.
56         * SmtpException.cs: Correctly chain up all .ctors. Removed extra
57         null check in deserialization .ctor.
58
59 2008-08-15  Atsushi Enomoto  <atsushi@ximian.com>
60
61         * SmtpClient.cs : fixed bug #382670, based on the patch by Ted
62           Unangst. DeriveryMethod.SpecifiedPickupDirectory was not supported.
63
64 2008-08-14  Atsushi Enomoto  <atsushi@ximian.com>
65
66         * SmtpClient.cs : Patch by Ted Unangst, fixed bug #392843.
67           Encode emails correctly as well as join multiple emails
68           correctly.
69
70 2008-08-12  Atsushi Enomoto  <atsushi@ximian.com>
71
72         * SmtpClient.cs : fixed bug #392682, in the same spirit in the
73           patch by Ted Unangst, to assure safety on socket closing.
74
75 2008-08-07  Atsushi Enomoto  <atsushi@ximian.com>
76
77         * SmtpClient.cs : Fixed bug #392809, patch by Ted Unangst. Text body
78           was not copied to byte array which is being sent. 
79
80 2008-04-21  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
81
82         * SmtpClient.cs: Fix bug with string handling
83
84 2008-04-21  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
85
86         * SmtpClient.cs: Fix formatting
87
88 2008-04-20 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
89
90         * SmtpClient.cs: made ParseExtension() work. After STARTTLS, reset
91         data retrieved from EHLO.
92         Fixes bug #377463.
93
94 2008-04-03  Juraj Skripsky  <js@hotfeet.ch>
95
96         * Attachment.cs (InitName): Use Path.GetFileName instead of Substring hack.
97         Fixes bug #366947.
98
99 2008-01-29  Juraj Skripsky  <js@hotfeet.ch>
100
101         * SmtpClient.cs (ToQuotedPrintable): Escape the escape character "=".
102
103 2008-01-29  Juraj Skripsky  <js@hotfeet.ch>
104
105         * SmtpClient.cs: Remove ':' from the time zone offset in the
106         mail's date field. Fixes bug #351443.
107         (ToQuotedPrintable): Make sure text encoded as quoted-printable does
108         not contain more then 76 chars per line (required by rfc1521). Fixes
109         bug #351448.
110
111 2007-12-06  Atsushi Enomoto  <atsushi@ximian.com>
112
113         * AlternateView.cs : supply charset info for ContentType.
114         * SmtpClient.cs : for ToQuotedPrintable() input, don't use utf8
115           StreamReader to get input string. Just use Encoding.GetBytes().
116           Fixed bug #346162.
117
118 2007-12-05  Atsushi Enomoto  <atsushi@ximian.com>
119
120         * MailMessage.cs : fixing cosmetic .net compatibility. Automatically
121           fill ASCII when guessed encoding is nothing.
122
123 2007-12-05  Atsushi Enomoto  <atsushi@ximian.com>
124
125         * SmtpClient.cs : fold base64 string at 76 characters.
126           Should fix bug #344974.
127
128 2007-12-05  Atsushi Enomoto  <atsushi@ximian.com>
129
130         * Attachment.cs : use correct TransferEncoding when (Text)Encoding
131           is specified.
132         * MailMessage.cs : ContentTransferEncoding implementation went into
133           ContentType.
134
135 2007-12-04  Arina Itkes <arinai@mainsoft.com>
136
137         * SmtpException.cs, SmtpFailedRecipientException.cs,
138           SmtpFailedRecipientsException.cs: 
139           Changes for SOAP serialization compatibility with .NET. 
140
141 2007-11-05  Atsushi Enomoto  <atsushi@ximian.com>
142
143         fixed bug #339037.
144         * AlternateView.cs : CreateAlternateViewFromString() allows null
145           Encoding.
146         * SmtpClient.cs : looks like when Body is null and AlternativeViews
147           contains only 1 item, then the alternate view becomes as if it
148           were just a body. To make this possible, added couple of more
149           transfer-encoding conversion methods.
150           For more AlternateViews cases, Body is treated
151           as empty. With attachments it is even complicated: those alternate
152           views are just in one boundary, so do not send empty string.
153           Removed debug output (Console.WriteLine).
154
155           What a mess.
156
157 2007-10-30 Arina Itkes <arinai@mainsoft.com>
158
159         * SmtpClient.cs: Fix of SmtpClient.Read() method:
160         Added check of string position before calling 
161         Substring and IndexOf methods of string.
162
163 2007-10-23  Atsushi Enomoto  <atsushi@ximian.com>
164
165         * SmtpClient.cs : small async refactory.
166
167 2007-10-23  Atsushi Enomoto  <atsushi@ximian.com>
168
169         * SmtpClient.cs : Implemented async operations.
170
171 2007-10-23  Atsushi Enomoto  <atsushi@ximian.com>
172
173         * Attachment.cs : reverted previous change. NameEncoding is not
174           guessed at set_Name().
175
176 2007-10-22  Atsushi Enomoto  <atsushi@ximian.com>
177
178         * SmtpClient.cs : lunatic cyclic build.
179
180 2007-10-22  Atsushi Enomoto  <atsushi@ximian.com>
181
182         * AttachmentBase.cs : implemented Dispose(bool).
183
184 2007-10-22  Atsushi Enomoto  <atsushi@ximian.com>
185
186         * AttachmentCollection.cs : remove TODO.
187         * Attachment.cs : guess NameEncoding when set_Name().
188         * MailMessage.cs : moved encoding guess impl to ContentType.
189         * SmtpClient.cs : moved RFC 2047 encoding impl to ContentType.
190           Support attachment Name encoding. Added some SSL changes (it's not
191           working yet).
192
193 2007-10-22  Atsushi Enomoto  <atsushi@ximian.com>
194
195         * SmtpClient.cs : attachment refactory. First, determine whether we
196           send multipart/mixed for attachments. Second, determine whether we
197           send multipart/alternative for AlternateViews.
198           Consider LinkedResources. Mark EnableSsl as TODO.
199
200 2007-10-22  Atsushi Enomoto  <atsushi@ximian.com>
201
202         * LinkedResource.cs : Now they are implemented and soon to be
203           supported. Fixed TransferEncoding (same as other AttachmentBase).
204
205 2007-10-22  Atsushi Enomoto  <atsushi@ximian.com>
206
207         * Attachment.cs : null name is allowed.
208
209 2007-10-19  Atsushi Enomoto  <atsushi@ximian.com>
210
211         * AlternateView.cs, AttachmentView.cs, AttachmentBase.cs :
212           reverted default back to TransferEncoding.Base64 again, and use
213           QuotedPrintable only when created from string.
214           No need to check null Stream at AlternateView.ctor(). See base.
215         * SmtpClient.cs : For multipart message, do not send body twice (it
216           still emits extraneous part, which should be fixed too).
217           Do not premise charset existence in every AttachmentBase.
218
219 2007-10-17  Atsushi Enomoto  <atsushi@ximian.com>
220
221         * AlternateView.cs : dispose linked resources. Remove MonoTODOs.
222         * Attachment.cs : check null content string.
223           The string argument in .ctor(Stream,string) is name, not mediaType.
224           Use contentEncoding argument in CreateAttachmentFromString().
225         * AttachmentBase.cs : TransferEncoding default is QuotedPrintable.
226
227 2007-10-17  Atsushi Enomoto  <atsushi@ximian.com>
228
229         * MailMessage.cs : removed MonoTODO. some comment.
230         * SmtpException.cs, SmtpFailedRecipientsException.cs,
231           SmtpFailedRecipientException.cs : implemented serialization.
232
233 2007-10-16  Atsushi Enomoto  <atsushi@ximian.com>
234
235         * SmtpClient.cs : use 3 StringBuilder.Replace() calls rather than
236           3 string.Replace() calls.
237
238 2007-10-16  Atsushi Enomoto  <atsushi@ximian.com>
239
240         * SmtpClient.cs : do state check on other setters than set_Timeout().
241
242 2007-10-16  Atsushi Enomoto  <atsushi@ximian.com>
243
244         * MailMessage.cs : Some entire refactory on BodyEncoding and
245           IsBodyHtml. BodyEncoding and SubjectEncoding are guessed when
246           Body and Subject are set for each.
247         * SmtpClient.cs :
248           Subject header is encoded according to RFC 2047.
249           Body is encoded according to RFC 2821.
250           Output Date header.
251           ToQuotedPrintable() should take encoding into consideration.
252           For SevenBit/Unknown TransferEncoding, just decode with ASCII.
253           In set_UseDefaultCredentials(), raise NIE only when value is true.
254           In set_Timeout(), raise an error when Send() is in progress.
255
256 2007-10-16  Atsushi Enomoto  <atsushi@ximian.com>
257
258         * SmtpClient.cs : Replace every \r and \n with \r\n per RFC 2821 
259           section 2.3.7, or you will receive SMTP error 451.
260
261 2007-10-16  Atsushi Enomoto  <atsushi@ximian.com>
262
263         * AlternateViewCollection.cs, LinkedResourceCollection.cs,
264           AttachmentCollection.cs : added missing 2.0 members.
265
266 2007-06-17  Gert Driesen  <drieseng@users.sourceforge.net>
267
268         * MailAddress.cs: Throw ArgumentNullException if address is null.
269         Allow display name to be specified as part of the address. Fixes
270         bug #81854. Return zero-length string in DisplayName if no display 
271         name is set.
272
273 2007-05-31  Jeffrey Stedfast  <fejj@gnome.org>
274
275         * SmtpClient.cs: Added an extensions parser to figure out if the
276         ESMTP server supports things like STARTTLS and which AUTH
277         mechanisms are supported. Don't try authenticating if no authmechs
278         are supported.
279
280 2007-05-30  Jeffrey Stedfast  <fejj@novell.com>
281
282         * SmtpClient.cs: Fall back to HELO if EHLO fails. Also, do not
283         write out a Bcc header to the SMTP server - these are meant to be
284         dropped. MAIL FROM: and RCPT TO: commands are not meant to have a
285         space after the colon before the address - this will break on some
286         SMTP servers.
287
288 2007-02-16  Geoff Norton  <gnorton@customerdna.com>
289
290         * SmtpClient.cs: Dont send bare LF.  Send <CR><LF> regardless
291         of platform.  (ref: http://cr.yp.to/docs/smtplf.html)
292
293 2007-01-20  Miguel de Icaza  <miguel@novell.com>
294
295         * MailMessage.cs: Add suport to the MailMessage constructor to
296         take a comma-separated list of addresses (Bug #80548). 
297
298 2006-12-12  Miguel de Icaza  <miguel@novell.com>
299
300         * MailMessage.cs: Fix this code so that it correctly reports
301         ArgumentNullExceptions.
302
303 2006-12-12  Atsushi Enomoto  <atsushi@ximian.com>
304
305         * SmtpClient.cs : use CONFIGURATION_DEP when it is
306           System.Configuration.dll dependent.
307
308 2006-12-10  David Elkind  <davide@mainsoft.com>
309
310         * Attachment.cs - proper file name handling added
311         * AttachmentBase.cs - proper MIME type handling added
312         * MailAddress.cs - Proper mail address handling ('<' and '>' addition) added
313         * MailMessage.cs - Better construction sequence
314         * SmtpClient.cs - Added proper handling of composite message (consisting of alternate views/attachments)
315                         - Added handling of user credentials 
316                         - Added handling of TLS (under TARGET_JVM)
317                         - Some other minor fixes
318
319 2006-12-04  Konstantin Triger  <kostat@mainsoft.com>
320
321         * SmtpException.cs, SmtpFailedRecipientException.cs: TARGET_JVM limitation workaround.
322
323 2006-12-01  Sebastien Pouliot  <sebastien@ximian.com>
324
325         * SmtpClient.cs: Added MonoTODO for missing SSL/TLS support and 
326         updated existing MonoTODO (or changed them to FIXME) to be clearer
327         for anyone using the API.
328
329 2006-10-31  Sebastien Pouliot  <sebastien@ximian.com>
330
331         * SmtpException.cs: Fix visibility on .ctor(SerializationInfo,
332         StreamingContext).
333         * SmtpPermissionAttribute.cs: New (2.0). Security attribute for SMTP.
334         * SmtpPermission.cs: New (2.0). Security permission for SMTP.
335
336 2006-09-28  Andrew Skiba  <andrews@mainsoft.com>
337
338         * SmtpClient.cs: TARGET_JVM
339
340 2006-03-11  Miguel de Icaza  <miguel@novell.com>
341
342         * MailAddress.cs: Comment out unused field to remove warning. 
343
344 2006-1-13  John Luke  <john.luke@gmail.com>
345
346         * MailMessage.cs: add [MonoTODO] for FormatException in ctor,
347         throw ArugmentNullException's from the ctors,
348         add internal BodyContentType property,
349         change BodyEncoding to use BodyContentType,
350         change IsBodyHtml to use BodyContentType,
351         * SmtpClient.cs: set timeout initially to 100000,
352         don't throw ArgumentOutOfRangeException when Timeout = 0,
353         add [MonoTODO] for set_host, and throw Exceptions for it,
354         add [MonoTODO] for UseDefaultCredentials,
355         get messageContentType from the message,
356         use "127.0.0.1" for Host and 25 for Port
357         if host or port is not specified until reading
358         them from the configuration files is done
359
360 2006-1-02  John Luke  <john.luke@gmail.com>
361
362         * DeliveryNotificationOptions: fix value of Delay
363         
364 2005-12-26  John Luke  <john.luke@gmail.com>
365
366         * AttachmentCollection.cs: mark sealed
367         * DeliveryNotificationOptions.cs: fix values
368         
369 2005-12-25  John Luke  <john.luke@gmail.com>
370
371         * SmtpStatusCode.cs: OK > Ok
372         * AttachmentBase.cs: ContentID > ContentId,
373         add set_ContentType
374         * AlternateViewCollection.cs: remove destructor,
375         make default ctor internal
376         * MailMessage.cs: add default ctor,
377         remove destructor
378         * Attachment.cs: add (string, string) ctor,
379         add set_NameEncoding
380         * LinkedResourceCollection.cs: remove destructor,
381         make default ctor internal
382         * AttachmentCollection.cs: mark Dispose virtual,
383         add ISerializable, make default ctor internal
384
385 2005-12-24  John Luke  <john.luke@gmail.com>
386
387         * LinkedResource.cs: new File
388         * AttachmentBase.cs: new File
389         * MailPriority.cs: new File
390         * AlternateViewCollection.cs: new File
391         * DeliveryNotificationOptions.cs: new File
392         * SmtpFailedRecipientException.cs: new File
393         * AlternateView.cs: new File
394         * LinkedResourceCollection.cs: new File
395         * MailMessage.cs: add some missing properties, update API for 2.0 final 
396         * Attachment.cs: inherit from AttachmentBase, update API for 2.0 final
397         * MailAddress.cs: fix ToString, override Equals and GetHashCode
398         * SmtpFailedRecipientsException.cs: use SmtpFailedRecipientException
399         * SmtpException.cs: add [Serializable], ISerializable
400         * MailAddressCollection.cs: inherit from Collection<MailAddress>
401         * AttachmentCollection.cs: inherit from Collection<Attachment>
402         * SmtpAccess.cs: add missing value
403         * SmtpClient.cs: update for 2.0 final API
404         * SmtpStatusCode.cs: add missing value
405 2005-12-24  John Luke  <john.luke@gmail.com>
406
407         * MailMessage.cs: use text/plain by default,
408         patch by Andy Waddell <awaddell@fnfr.com>,
409         fixes bug #76972
410
411 2005-12-22  John Luke  <john.luke@gmail.com>
412
413         * SmtpClient.cs: remove use of TransferEncodings that
414         no longer exist in .net 2 final API
415         
416 2005-12-14  Chris Toshok  <toshok@ximian.com>
417
418         * SmtpDeliveryMethod.cs: new enum.
419
420 2004-09-10  Tim Coleman <tim@timcoleman.com>
421         * SmtpClient.cs SmtpFailedRecipientsException.cs:
422                 Add failed recipient exception handling.
423
424 2004-09-09  Tim Coleman <tim@timcoleman.com>
425         * AttachmentCollection.cs MailAddressCollection.cs:
426                 New classes
427         * Attachment.cs: Set content string
428         * MailMessage.cs: Use new collection classes
429         * SmtpClient.cs: Lots of MIME cleanup
430
431 2004-09-08  Tim Coleman <tim@timcoleman.com>
432         * Attachment.cs: Add SetContentFromFile methods
433         * MailMessage.cs: Add MIME-Version header
434         * SmtpClient.cs: Add some attachment handling.
435
436 2004-09-04  Tim Coleman <tim@timcoleman.com>
437         * Attachment.cs MailAddress.cs MailMessage.cs SendCompletedEventHandler.cs
438         * SmtpAccess.cs SmtpClient.cs SmtpException.cs SmtpStatusCode.cs:
439                 New class stubs for 2.0