1 2010-02-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
3 * SmtpClient.cs: generate correct MIME when there are text and html
4 linked resources. Fixes bug #579984. Patch by Ásgeir Halldórsson.
6 2010-01-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
8 * SmtpClient.cs: rethrow inner exception so that
9 AsyncCompletedEventArgs.Error gets the right value on error. Patch
12 2009-12-11 Miguel de Icaza <miguel@novell.com>
14 * SmtpClient.cs: Add half-implemented feature, TargetName for the
17 * SmtpClient.cs, MailMessage.cs: Add 4.0 APIs.
19 2009-08-20 Sebastien Pouliot <sebastien@ximian.com>
21 * SmtpClient.cs: Honor ServicePointManager.
22 ServerCertificateValidationCallback when provided
24 2009-08-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
26 * Attachment.cs: set the body encoding for multipart attachments.
29 2009-06-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
31 * SmtpClient.cs: handle dots. Patch by Ted Unangst that fixes bug
34 2008-11-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
36 * SmtpClient.cs: remove unused variable and obsolete comment.
38 2008-09-17 Miguel de Icaza <miguel@novell.com>
40 * SmtpClient.cs: Actually set some of the headers like Priority,
43 2008-09-05 Atsushi Enomoto <atsushi@ximian.com>
45 * SmtpClient.cs : attachment stream consumption was insufficient.
46 Fix bug #347553, by David Ion.
48 2008-08-16 Gert Driesen <drieseng@users.sourceforge.net>
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.
59 2008-08-15 Atsushi Enomoto <atsushi@ximian.com>
61 * SmtpClient.cs : fixed bug #382670, based on the patch by Ted
62 Unangst. DeriveryMethod.SpecifiedPickupDirectory was not supported.
64 2008-08-14 Atsushi Enomoto <atsushi@ximian.com>
66 * SmtpClient.cs : Patch by Ted Unangst, fixed bug #392843.
67 Encode emails correctly as well as join multiple emails
70 2008-08-12 Atsushi Enomoto <atsushi@ximian.com>
72 * SmtpClient.cs : fixed bug #392682, in the same spirit in the
73 patch by Ted Unangst, to assure safety on socket closing.
75 2008-08-07 Atsushi Enomoto <atsushi@ximian.com>
77 * SmtpClient.cs : Fixed bug #392809, patch by Ted Unangst. Text body
78 was not copied to byte array which is being sent.
80 2008-04-21 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
82 * SmtpClient.cs: Fix bug with string handling
84 2008-04-21 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
86 * SmtpClient.cs: Fix formatting
88 2008-04-20 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
90 * SmtpClient.cs: made ParseExtension() work. After STARTTLS, reset
91 data retrieved from EHLO.
94 2008-04-03 Juraj Skripsky <js@hotfeet.ch>
96 * Attachment.cs (InitName): Use Path.GetFileName instead of Substring hack.
99 2008-01-29 Juraj Skripsky <js@hotfeet.ch>
101 * SmtpClient.cs (ToQuotedPrintable): Escape the escape character "=".
103 2008-01-29 Juraj Skripsky <js@hotfeet.ch>
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
111 2007-12-06 Atsushi Enomoto <atsushi@ximian.com>
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().
118 2007-12-05 Atsushi Enomoto <atsushi@ximian.com>
120 * MailMessage.cs : fixing cosmetic .net compatibility. Automatically
121 fill ASCII when guessed encoding is nothing.
123 2007-12-05 Atsushi Enomoto <atsushi@ximian.com>
125 * SmtpClient.cs : fold base64 string at 76 characters.
126 Should fix bug #344974.
128 2007-12-05 Atsushi Enomoto <atsushi@ximian.com>
130 * Attachment.cs : use correct TransferEncoding when (Text)Encoding
132 * MailMessage.cs : ContentTransferEncoding implementation went into
135 2007-12-04 Arina Itkes <arinai@mainsoft.com>
137 * SmtpException.cs, SmtpFailedRecipientException.cs,
138 SmtpFailedRecipientsException.cs:
139 Changes for SOAP serialization compatibility with .NET.
141 2007-11-05 Atsushi Enomoto <atsushi@ximian.com>
144 * AlternateView.cs : CreateAlternateViewFromString() allows null
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).
157 2007-10-30 Arina Itkes <arinai@mainsoft.com>
159 * SmtpClient.cs: Fix of SmtpClient.Read() method:
160 Added check of string position before calling
161 Substring and IndexOf methods of string.
163 2007-10-23 Atsushi Enomoto <atsushi@ximian.com>
165 * SmtpClient.cs : small async refactory.
167 2007-10-23 Atsushi Enomoto <atsushi@ximian.com>
169 * SmtpClient.cs : Implemented async operations.
171 2007-10-23 Atsushi Enomoto <atsushi@ximian.com>
173 * Attachment.cs : reverted previous change. NameEncoding is not
174 guessed at set_Name().
176 2007-10-22 Atsushi Enomoto <atsushi@ximian.com>
178 * SmtpClient.cs : lunatic cyclic build.
180 2007-10-22 Atsushi Enomoto <atsushi@ximian.com>
182 * AttachmentBase.cs : implemented Dispose(bool).
184 2007-10-22 Atsushi Enomoto <atsushi@ximian.com>
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
193 2007-10-22 Atsushi Enomoto <atsushi@ximian.com>
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.
200 2007-10-22 Atsushi Enomoto <atsushi@ximian.com>
202 * LinkedResource.cs : Now they are implemented and soon to be
203 supported. Fixed TransferEncoding (same as other AttachmentBase).
205 2007-10-22 Atsushi Enomoto <atsushi@ximian.com>
207 * Attachment.cs : null name is allowed.
209 2007-10-19 Atsushi Enomoto <atsushi@ximian.com>
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.
219 2007-10-17 Atsushi Enomoto <atsushi@ximian.com>
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.
227 2007-10-17 Atsushi Enomoto <atsushi@ximian.com>
229 * MailMessage.cs : removed MonoTODO. some comment.
230 * SmtpException.cs, SmtpFailedRecipientsException.cs,
231 SmtpFailedRecipientException.cs : implemented serialization.
233 2007-10-16 Atsushi Enomoto <atsushi@ximian.com>
235 * SmtpClient.cs : use 3 StringBuilder.Replace() calls rather than
236 3 string.Replace() calls.
238 2007-10-16 Atsushi Enomoto <atsushi@ximian.com>
240 * SmtpClient.cs : do state check on other setters than set_Timeout().
242 2007-10-16 Atsushi Enomoto <atsushi@ximian.com>
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.
248 Subject header is encoded according to RFC 2047.
249 Body is encoded according to RFC 2821.
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.
256 2007-10-16 Atsushi Enomoto <atsushi@ximian.com>
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.
261 2007-10-16 Atsushi Enomoto <atsushi@ximian.com>
263 * AlternateViewCollection.cs, LinkedResourceCollection.cs,
264 AttachmentCollection.cs : added missing 2.0 members.
266 2007-06-17 Gert Driesen <drieseng@users.sourceforge.net>
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
273 2007-05-31 Jeffrey Stedfast <fejj@gnome.org>
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
280 2007-05-30 Jeffrey Stedfast <fejj@novell.com>
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
288 2007-02-16 Geoff Norton <gnorton@customerdna.com>
290 * SmtpClient.cs: Dont send bare LF. Send <CR><LF> regardless
291 of platform. (ref: http://cr.yp.to/docs/smtplf.html)
293 2007-01-20 Miguel de Icaza <miguel@novell.com>
295 * MailMessage.cs: Add suport to the MailMessage constructor to
296 take a comma-separated list of addresses (Bug #80548).
298 2006-12-12 Miguel de Icaza <miguel@novell.com>
300 * MailMessage.cs: Fix this code so that it correctly reports
301 ArgumentNullExceptions.
303 2006-12-12 Atsushi Enomoto <atsushi@ximian.com>
305 * SmtpClient.cs : use CONFIGURATION_DEP when it is
306 System.Configuration.dll dependent.
308 2006-12-10 David Elkind <davide@mainsoft.com>
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
319 2006-12-04 Konstantin Triger <kostat@mainsoft.com>
321 * SmtpException.cs, SmtpFailedRecipientException.cs: TARGET_JVM limitation workaround.
323 2006-12-01 Sebastien Pouliot <sebastien@ximian.com>
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.
329 2006-10-31 Sebastien Pouliot <sebastien@ximian.com>
331 * SmtpException.cs: Fix visibility on .ctor(SerializationInfo,
333 * SmtpPermissionAttribute.cs: New (2.0). Security attribute for SMTP.
334 * SmtpPermission.cs: New (2.0). Security permission for SMTP.
336 2006-09-28 Andrew Skiba <andrews@mainsoft.com>
338 * SmtpClient.cs: TARGET_JVM
340 2006-03-11 Miguel de Icaza <miguel@novell.com>
342 * MailAddress.cs: Comment out unused field to remove warning.
344 2006-1-13 John Luke <john.luke@gmail.com>
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
360 2006-1-02 John Luke <john.luke@gmail.com>
362 * DeliveryNotificationOptions: fix value of Delay
364 2005-12-26 John Luke <john.luke@gmail.com>
366 * AttachmentCollection.cs: mark sealed
367 * DeliveryNotificationOptions.cs: fix values
369 2005-12-25 John Luke <john.luke@gmail.com>
371 * SmtpStatusCode.cs: OK > Ok
372 * AttachmentBase.cs: ContentID > ContentId,
374 * AlternateViewCollection.cs: remove destructor,
375 make default ctor internal
376 * MailMessage.cs: add default ctor,
378 * Attachment.cs: add (string, string) ctor,
380 * LinkedResourceCollection.cs: remove destructor,
381 make default ctor internal
382 * AttachmentCollection.cs: mark Dispose virtual,
383 add ISerializable, make default ctor internal
385 2005-12-24 John Luke <john.luke@gmail.com>
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>
407 * MailMessage.cs: use text/plain by default,
408 patch by Andy Waddell <awaddell@fnfr.com>,
411 2005-12-22 John Luke <john.luke@gmail.com>
413 * SmtpClient.cs: remove use of TransferEncodings that
414 no longer exist in .net 2 final API
416 2005-12-14 Chris Toshok <toshok@ximian.com>
418 * SmtpDeliveryMethod.cs: new enum.
420 2004-09-10 Tim Coleman <tim@timcoleman.com>
421 * SmtpClient.cs SmtpFailedRecipientsException.cs:
422 Add failed recipient exception handling.
424 2004-09-09 Tim Coleman <tim@timcoleman.com>
425 * AttachmentCollection.cs MailAddressCollection.cs:
427 * Attachment.cs: Set content string
428 * MailMessage.cs: Use new collection classes
429 * SmtpClient.cs: Lots of MIME cleanup
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.
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