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