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