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