Rebex

Skip to content, Skip to navigation




Rebex Mail for .NET Release History

2010-07-20 Version 1.0.3854.0 #

  • MIME: A more descriptive exception is thrown when attempting to save a mail message into a directory path instead of file path.
  • MIME: Changed routine for fixing invalid filenames, it no longer changes the '%' character.
  • MIME: Added a MimeOptions.DisableSinglePartHtmlWorkaround option to disable single-part HTML workaround in MailMessage.
  • MIME: Attachment, view and resource collections' GetEnumerator is now an implementation of IEnumerable<T>.
  • SMTP: Smtp class inherits from NetworkSession base class that implements some common properties.
  • POP3: Pop3 class inherits from NetworkSession base class that implements some common properties.
  • POP3: Added a workaround for an old version of Lotus Domino that advertises APOP support but don't actually support it.
  • POP3: Pop3MessageCollection implements IEnumerable<Pop3MessageInfo>.
  • IMAP: Imap class inherits from NetworkSession base class that implements some common properties.
  • IMAP: ImapMessageCollection implements IEnumerable<ImapMessageInfo>.

2010-05-20 Version 1.0.3793.0 #

  • MIME: Fixed a bug that caused an exception to be raised when assigning one MailMessage's mail address collection property to another.
  • MIME: Added MimeOptions.DoNotCloseStreamAfterLoad option.
  • MIME: Added a workaround for parsing 'References' header with missing angle brackets.
  • SMTP: Added MimeOptions.DoNotPreloadAttachments to make it possible to handle extremely large attachments.
  • POP3: Added a workaround for QuarkMail Server that incorrectly announces authentication capabilies.

2010-03-11 Version 1.0.3723.0 #

  • MIME: MailMessage.CreateReply now supports and processes the Refereces header according to RFC 2822 and common practices.
  • MIME: Added MailMessage.ToByteArray() and MailMessage.Load(byte[]) methods.
  • MIME: Attachment.ContentDescription property added.
  • MIME: MimeEntity.SetSignedContent and SetEnvelopeContent methods enhanced to disallow creating circular paths.
  • MIME: Added support for TNEF-based HTML bodies.
  • MIME: Fixed a bug in binary MIME parser that caused broken data to be parsed.
  • MIME: MailAddress.ToString and MailAddressCollection.ToString methods now quote display names if needed.
  • MIME: Fixed the MIME parser behavior with Mimeoptions.DoNotParseMimeTree options on non-compliant messages with lines too long.
  • MIME: MIME parser enhanced to handle non-compliant input data with duplicate <CR> characters.
  • SMTP: Added NTLM and GSSAPI/Kerberos authentication support to .NET Compact Framework version.
  • POP3: Added NTLM and GSSAPI/Kerberos authentication support to .NET Compact Framework version.
  • IMAP: Two new methods in ImapMessageCollection - ToSequenceNumberMessageSet and ToUniqueIdMessageSet.
  • IMAP: Added NTLM and GSSAPI/Kerberos authentication support to .NET Compact Framework version.
  • IMAP: Added ImapListFields.MessageStructure value, ImapMessageInfo.GetParts method and Imap.GetMessagePart method to make it possible to evaluate and download message views, resources and attachments individually without the need to download the whole message.
  • IMAP: Communication compression support added. Needs to be enabled using Imap.EnabledExtensions.
  • IMAP: Fixed a bug in ImapMessageSet.Add and AddRange method s that made them fail when adding multiple non-range values.
  • IMAP: Envelope parser enhanced to better handle envelopes with bad e-mail addresses.
  • IMAP: Date parser enhanced to handle rare two-digit-year date values properly.
  • IMAP: Added several new search criteria to ImapSearchParameter class: All, Unread (NotSeen), MessageSet, Keyword, NotKeyword and Not.
  • IMAP: Added a workaround for Exchange 2007 server that doesn't properly support searching address headers such as From, To or CC.
  • IMAP: Fixed a bug in GetMessageInfo that made it set the Seen flag when called with ImapListFields.Body even if ImapOption.DoNotPeekMessage was enabled.
  • ProxySocket: The underscore character is now allowed in hostnames (this is non-standard, but used by Windows).
  • ProxySocket: FileLogWriter is capable of logging into a single file from multiple applications now.
  • ProxySocket: ProxySocket.Send behavior changed to always send all the data or fail.

2009-10-27 Version 1.0.3588.0 #

  • MIME: MailMessage object's BodyText and BodyHtml properties now remove illegal characters when set.
  • MIME: LinkedResource.FileName property added.
  • MIME: Mail messages with empty TNEF/winmail.dat attachment no longer cause an exception to be thrown.
  • SMTP: Kerberos, NTLM and Negotiate authentication methods through GSSAPI/SSPI are now supported (not yet available on .NET Compact Framework).
  • SMTP: GSSAPI or NTLM is also attempted in Auto mode if the mail server doesn't support any other authentication methods.
  • POP3: Kerberos, NTLM and Negotiate authentication methods through GSSAPI/SSPI are now supported (not yet available on .NET Compact Framework).
  • POP3: Added workaround for I&ES Mail Server that doesn't like TOP n 1 command.
  • IMAP: Fixed a bug in Imap object's External authentication method implementation.
  • IMAP: GSSAPI or NTLM is also attempted in Auto mode if the mail server doesn't support any other authentication methods.
  • IMAP: Added a workaround for servers that reply with FETCH BODYSTRUCTURE when FETCH BODY is requested.
  • IMAP: Kerberos, NTLM and Negotiate authentication methods through GSSAPI/SSPI are now supported (not yet available on .NET Compact Framework).
  • IMAP: Message structure parser enhanced to be compatible with more servers and distinguish attachments and linked resources.
  • ProxySocket: Proxy object now has Encoding property that makes it possible to specify character set to be used for parsing server responses.
  • ProxySocket: ProxySocketException.ErrorCode property now returns HTTP and Socket4/Socks5 error codes when available.
  • ProxySocket: SspiAuthentication and GssApiProvider classes added that provide GSSAPI/SSPI functionality.

2009-07-13 Version 1.0.3479.0 #

  • MIME: Signature parser enhanced to better parse "signed" e-mails with missing signature.
  • MIME: Binary attachments claiming to be text are now parsed as application/octet-stream.
  • MIME: IEnumerable<T> support added to collections for .NET 2.0 and higher.
  • MIME: Fixed a bug in MimeHeaderCollection class that made it possible to add a null header.
  • MIME: Date header parser enhanced to handle invalid ';' characters.
  • IMAP: Added workround for Gmail that is unable to select a localized version of the Inbox folder. The inbox folder is now reported as Inbox for all Gmail language variants.
  • IMAP: Fixed a bug in IMAP response parser that caused it to fail in rare circumstances.

2009-05-20 Version 1.0.3428.0 #

  • MIME: Added a workaround for broken Date headers to MailMessage class - when an unparsable Date header is encountered, the date value from the topmost Received header is used instead.
  • MIME: Fixed a bug in the TNEF parser that caused an exception to be thrown when parsing rich text bodies that contain zero characters (which are perfectly legal for RTF, unfortunately).
  • MIME: MailDateTime class now supports implicit conversion from DateTime.
  • MIME: Long file name support for attachments added to TNEF (winmail.dat) parser.
  • SMTP: Added support for RFC 1870 - message size declaration.
  • SMTP: Added SmtpConfiguration class that makes it possible to read SMTP settings from application configuration file's /configuration/system.net/mailSettings/smtp node.
  • SMTP: Fixed a bug that caused an exception when sending a message with embedded message entity using an 8bit content transfer encoding through a server that doesn't support 8bit MIME.
  • SMTP: Disposing Smtp object from another thread while an operation is in progress no longer causes NullReferenceException and other similar errors to occur in the operation thread.
  • POP3: GetMessageList no longer fails on duplicate unique IDs because RFC 1939 actually allows them.
  • POP3: Disposing Pop3 object from another thread while an operation is in progress no longer causes NullReferenceException and other similar errors to occur in the operation thread.
  • POP3: GetMessageList or GetMessageInfo methods enhanced to make them compatible with servers that return the first message line as well when retrieving headers. In previous versions, this might have occasionally lead to parsing errors.
  • POP3: Enhanced GetMessageHeaders to always retrieve the headers only - on some servers, it used to retrieve the first line of the message as well.
  • IMAP: Fixed a bug in Imap.SelectFolder method that threw ArgumentOutOfRangeExceptions on some servers.
  • IMAP: Imap.SelectFolder now accepts an empty folder name because some servers (Zarafa) use it for the root folder.
  • IMAP: Added ImapMessageInfo.GetRawHeaders method.
  • IMAP: Fixed a bug in Imap.GetMessageHeaders method that caused it to download the whole message.
  • IMAP: SelecteFolder, UnselectFolder and Disconnect methods no longer purge messages marked as Deleted in the currently selected folder. New overload of UnselectFolder method was added that makes it possible to purge the messages when needed.
  • IMAP: Headers are now fetched using BODY.PEEK[HEADER] instead of RFC822.HEADER to improve IMAP server compatibility.
  • IMAP: Added a new ImapOptions.UsePeekForGetMessage option to make it possible to avoid automatically marking downloaded messages as read.
  • IMAP: StoreRawMessage method added to make it possible to upload a raw message from a stream without parsing it.
  • IMAP: Gmail's XLIST command is used instead of LIST by default and a new property ImapFolder.Purpose was added to make it possible to detect which folder is which regardless their national name.
  • IMAP: Added workaround for IMAP servers that return NIL as a folder delimiter (slash is used instead).
  • IMAP: Added workaround for servers that return the same folder name twice for unknown reasons.
  • IMAP: Invalid IMAP response lines such as "* AVK-VIRUS-CHECK: 1" are now ignored.
  • IMAP: Added workaround for broken IMAP servers that use their default charset where modified UTF-7 is required.
  • IMAP: Disposing Imap object from another thread while an operation is in progress no longer causes NullReferenceException and other similar errors to occur in the operation thread.
  • IMAP: Added ImapMessageIfo.GetRawHeaders method.
  • IMAP: Added MimeHeader.DecodeMimeHeader method.
  • IMAP: Added workaround for Exchange 2007's IMAP server that is unable to return the proper structure of multipart/signed messages.

2009-02-19 Version 1.0.3333.0 #

  • MIME: Added experimental TNEF (winmail.dat) support to MailMessage class.
  • MIME: Added MimeOptions.OnlyParseHeaders option to make it easily possible to parse message headers only.
  • MIME: Fixed a problem with badly-formed MailMessage that was produced after being parsed with DoNotParseMimeTree option.
  • MIME: It is now possible to set BodyHtml and BodyText to null.
  • SMTP: Fixed a problem with sending messges using "binary" content transfer encoding and parsed using DoNotParseMimeTree option.
  • SMTP: Fixed a problem in ResolveDomainMX that caused it to 'resolve' domains that don't exist.
  • IMAP: Added support for keywords (custom flags).
  • IMAP: Added a workaround for qq.com IMAP server that advertises PLAIN authentication method support but only accepts LOGIN.
  • ProxySocket: Fixed a bug in Socks4/Socks5 proxy code that made it impossible to use FTP in active mode with these proxies.

2009-01-14 Version 1.0.3300.0 #

  • MIME: A better exception is now thrown by a method that has been terminated by calling Dispose from another thread.
  • MIME: Asynchronous operations now use a thread pool.
  • MIME: Asynchronous method threads are now named.
  • MIME: Added a workaround for parsing '@' character in Content-Type parameters.
  • MIME: Fixed a bug that caused the DefaultEncoding to not be converted when converting MailMessage to MimeMessage or when sending MailMessage using the Smtp object.
  • MIME: Added a workaround for Dovecot server that occasionally adds an extra CR (0xD) character at the end if its response when retrieving mail headers using IMAP.
  • MIME: GetRaw method added to MimeHeaderCollection class.
  • MIME: Added a workaround for Outlook invitations with missing charset.
  • MIME: Fixed a bug that caused some text parts to be parsed as attachments instead.
  • MIME: Added workaround for some badly formatted dates.
  • MIME: Workaround for for Mac mail introduced in 1.0.2800.0 modified because it was incompatible with Outlook 2003 in combination with S/MIME messages.
  • MIME: Order of settting BodyText and BodyHtml now does not affect the actual order in the message. Previously, using an uncommon order caused problems GMail and iPhone to display the text part instead of HTML part.
  • MIME: Added Insert method to AlternateViewList class.
  • MIME: Added MimeOptions.AllowAnyTextCharacters option to make it possible to use any characters in text attachments.
  • SMTP: Added enhanced logging capabilities.
  • POP3: GetMessage method now returns the transferred message length instead of number of bytes transferred.
  • POP3: Fixed a bug that caused a wrong error to be reported when POP3 server closes the connection while transferring data.
  • POP3: Added a workaround for Exchange 2000 that is unable to properly transfer e-mail with a body that starts with a dot.
  • POP3: A proper Pop3Exception is now thrown if duplicate unique ID is found in a message list.
  • POP3: Added workaround for Windows and GoDaddy's POP3 implementation that falsely advertises APOP support.
  • POP3: Added enhanced logging capabilities.
  • IMAP: Added a workaround for servers that allow the "NO" reply in response to FETCH command - a behavior that is strongly discouraged.
  • IMAP: Added FolderExists method to Imap class.
  • IMAP: Added a workaround for buggy servers that don't understand the 'RFC822' item, although they process the functionally equivalent 'BODY[]' item just fine.
  • IMAP: Added enhanced logging capabilities.

2008-07-24 Version 1.0.3127.0 #

  • IMAP: Response-reading code enhanced to handle oversized responses that occured while searching with some servers.

2008-06-14 Version 1.0.3087.0

  • MIME: Added automated detection of Unicode body parts with missing header encoding info.
  • MIME: Added workaround for quote-printable headers with an invalid linefeed character in the middle.
  • MIME: Fixed a bug in MailMessage class that caused an attachment to be parsed as texy body if no text body was present.
  • MIME: Invalid character removal routing now works for big5 and shift_jis encodings as well.
  • MIME: New tutorial for creating HTML e-mail with embedded pictures.
  • SMTP/IMAP/POP3: Added hostname validity checking to Connect method.
  • SMTP: Added several missing BeginSend methods.
  • SMTP: Added SmtpOptions.AllowNullSender option to make it possible to send a message with null envelope sender.
  • IMAP: Added OR operator to search options.
  • POP3: Added workaroud for GoDaddy and Windows POP3 servers that announce APOP authentication support but don't actually support it.
  • ProxySocket: New ISocket interface to make it possible to easily implement custom transport layers.
  • ProxySocket: Fixed an unhandled exception that occured during a failed connection to a proxy specified by an IP address.
  • Private beta of .NET Compact Framework version.

2007-12-06 Version 1.0.2896.0

  • All: Packages for .NET 3.5 and Visual Studio 2008 now available.
  • MIME: Added MimeOptions.AlwaysWriteContentTransferEncoding option to make it possible to force the MIME encoder to always output the Content-transfer-encoding header, even when it is 7bit.
  • MIME: When using iso-2022-jp charset to encode Japanese body text, ESC character (0x1B) is treated as 7bit-safe, matching the behavior of contemporary mail agents.
  • MIME: Fixed a bug in MIME encoder that made it failed when a 16-bit Unicode charset was used in a message body.
  • MIME: Fixed a problem in a mail parser that caused e-mail addresses containing some special characters to be parsed incorrectly.

2007-11-11 Version 1.0.2871.0

  • IMAP: Bcc property added to ImapMessageInfo class.
  • MIME: Added workaround for invalid base64 encoded headers with whitespaces.
  • MIME: Fixed problems in handling of filenames with invalid characters.

2007-08-30 Version 1.0.2800.0

  • MIME: New CreateReply method added to the MailMessage class.
  • MIME: Added workaround for Mac mail that is unable to correctly parse messages with a single root text/html entity.
  • MIME: Successive calls to Attachment.ContentMessage property now return the same object.
  • MIME: A new constructor overload added to the Attachment class.
  • MIME: DefaultEncoding property added - it is used to enforce a specific default charset for mail body and headers.
  • MIME: Broken base64-encoded inner messages are now converted to binary attachments during MIME parsing.
  • MIME: Serialization bug in MimeEntity and MimeMessage was fixed.
  • MIME: Added support for broken 'eBay-style' time zones.
  • MIME: Support for several kinds of broken MIME-encoding in headers.
  • IMAP: ParseUniqueId and BuildUniqueId methods added to ImapMessageSet class.
  • IMAP: Added support for partial message retrieval using GetMessage method. This can be used for resuming failed downloads.
  • IMAP: Added support for IDLE command through a new overload of the CheckForUpdates method.

2007-05-24 Version 1.0.2700.0

  • MIME: Added UnparsableHeader event to MailMessage and MimeMessage/MimeEntity.
  • MIME: Clone method added to MailMessage class.
  • MIME: MailMessage now tries to preserve the order of most message headers.
  • MIME: Added a new GetContentStream overload to Atachment/AlternateView/LinkedResource and MimeEntity/MimeMessage classes that returns a writable stream.
  • MIME: Attachment.ContentMessage property now returns a reference to the embedded message, not its clone.
  • MIME: Added a workaround for MS Outlook's broken S/MIME parser that modifies the parsed data, incorrectly causing signature validation to fail in some circumstances.
  • MIME: Detection of encoding of 8bit headers enhanced - content type encoding is now used by default. This is more compatible with broken messages.
  • MIME: Detection of Outlook's non-MIME .msg files added to the Load method. This proprietary format is not supported, but at least we throw a nice exception now.
  • MIME: Parser changed to be more compatible with broken messages.
  • MIME: Invalid charsets such as "1252" or "CP1252" are now supported and assumed to be "windows-1250".
  • MIME: Fixed the mail address route part parser that could hang on a specific form of an e-mail address.
  • MIME: Content-type and content-disposition header parameters now use a defined order.

2007-04-20 Version 1.0.2666.0

  • SMTP/POP3/IMAP: Added CheckConnectionState/GetConnectionState methods to check the state of the connection without sending any command to the server.
  • MIME: Invalid MIME messages that use LF-only end-of-line markers instead of CRLF are now parsed as well.
  • MIME: Entities with a missing body are assumed to have an empty body.
  • MIME: Default Hebrew charset has been changed from iso-8859-8 to windows-1255.
  • MIME: If both iso-8859-1 and iso-8859-2 are unable to encode the text, windows-1252 and windows-1250 are also tested before trying additional charsets.
  • MIME: Fixed MimeEntity.Name and ContentDisposition.FileName properties that might fail for some filenames with invalid characters.
  • MIME: Embedded messages encoded as base64 or quoted-printable are now parsed correctly.
  • MIME: If content transfer encoding value is an empty string, 7bit is assumed instead.
  • MIME: Maximum allowed line length on input was extended to 65536.
  • MIME: Rules for parsing address headers were relaxed to allow more kinds of invalid input data.
  • MIME: Header parser enhanced to assembly multi-byte characters that were split accross several encoded blocks.
  • MIME: IgnoreUnparsableHeaders option assumes a reasonable default for invalid content type headers.

2007-03-06 Version 1.0.2621.0

  • SMTP/POP3/IMAP: IPv6 support with .NET Framework 1.1 and 2.0/3.0.
  • MIME: Fixed a bug in one of the MailAddress constructors that caused an exception to be thrown when a specifically malformed e-mail address was encountered by Imap's GetMessageList in envelope mode.
  • Samples: Pop3Browser sample is now Vista-compatible.

2006-12-12 Version 1.0.2537.0

  • MIME: Fixed a bug that often made serialization impossible. This also affected serialization of ImapMessageCollection and Pop3MessageCollection.

2006-11-30 Version 1.0.2525.0

  • IMAP: Fixed a bug in message structure parser that could cause GetMessageList or GetMessageInfo to fail if retrieving attachment info or HTML and text bodies.

2006-11-27 Version 1.0.2522.0

  • MIME: Following parsers made more benevolent: date header, content type parameter parser, address parser, MIME version parser, quoted-printable header parser and Base64 parser.
  • MIME: Fixed a bug in phrase header parser that could cause the component to hang.
  • IMAP: Fixed a bug in ImapFolder that caused a wrong vaule NotSeenMessageCount for folders returned by Imap.GetFolderInfo method.
  • IMAP: Added AttachmentInfo to ImapListFields enum and the corresponding HasAttachment property to ImapMessageInfo class to make it possible to determine whether the message has any attachments without downloading it.

2006-10-18 Version 1.0.2482.0

  • MIME: Fixed a bug that could cause the parser to throw ArgumentNullException if a specifically-malformed Content-Type header was encountered.

2006-09-04 Version 1.0.2438.0

  • IMAP,POP3,SMTP: Added support for NTLM authentication.
  • MIME: Fixed a bug that could cause the parser to hang if a specifically-malformed Content-Type header was encountered.
  • MIME: Base64 parser made more liberal.
  • MIME: Address list parser enhanced to be able to parse more variants of malformed lists.
  • ProxySocket: Added support for NTLM authentication through HTTP CONNECT proxies.

2006-08-25 Version 1.0.2428.0

  • IMAP: Added support for retrieving the text and HTML body of a message without downloading the attachments.
  • MIME: Several minor changes and fixes, such as missing parameter checks.

2006-07-10 Version 1.0.2382.0

  • MIME: Fixed a bug in RFC 2231 parameter parser that caused the mail message parser to fail in certain circumstances.
  • MIME: Priority of messages was reversed when set, it is correct now.
  • IMAP: Added support for non-synchronizing literals (LITERAL+ extension).
  • IMAP: Search method enhanced to support searching for non-ASCII characters.
  • IMAP: Fixed a bug in the message list parser that caused it to fail if ampersand was encountered.
  • IMAP: Non-ASCII command arguments are now sent as literals, as required by the RFC.
  • IMAP: Default encoding changed to iso-8859-1 which was found to be the most compatible.
  • ProxySocket: Fixed a bug that caused the proxy password to be ignored.

2006-06-12 Version 1.0.2354.0

  • IMAP: Added support for unsolicited CAPABILITY response included in a welcome message.

2006-04-24 Version 1.0.2305.0

  • MIME: New robust Base64 decoder that can handle a wider range of broken input.
  • IMAP: Fixed a bug that caused the client not to work with Courier IMAP.
  • IMAP,POP3,SMTP: Enhanced the message of the exception that is thrown when an authentication using an unsupported method is attempted.

2006-03-02 Version 1.0.2258.0

  • MIME: Content-Type is now specified in all entities, even if not required by the RFC, to deal with Mozilla Thunderbird's MIME parser.
  • SMTP: Waits for all 'RCPT TO' replies prior to sending the 'DATA' command when pipelining is supported and chunking is unsupported, to deal with SMTP servers such as XMail that accept and deliver even an empty mail body.

2006-02-28 Version 1.0.2253.0

  • Initial release of Rebex Mail for .NET.