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