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