Catalyst Internet Mail Release Notes

Version 6.0 Build 6020

  • Corrected a problem that could cause the Visual Basic 6.0 IDE to crash when a referenced instance of the control was unloaded. This problem only manifested itself in design mode and did not affect compiled applications.
  • Corrected a reference counting problem where the memory allocated for the last message that has been retrieved using the POP3 protocol would not always be freed when multiple instances of the control had been created, and then one of those instances was subsequently released.
  • Corrected a problem where a message may not decode correctly if it contained an attachment with a file name that was longer than 127 characters. The control would not see that message part as containing a file attachment, which would prevent it from being extracted from the message and stored in a file.
  • Corrected a problem where the control may not detect that a message contains file attachments, even though the multipart header values are correct for the section of the message that contains the attachment. This problem was related to an issue where attachments with long file names could not be extracted, however this problem could also manifest with shorter file names that were encoded.
  • Changed the control to perform more stringent checking of the local domain name that may be specified by the application. If the name is not a valid, fully qualified domain name, the API will attempt to use the domain name configured for the local system or will default to simply using the local system's IP address. This change addresses an issue where an invalid local domain name could cause SMTP servers to reject an otherwise valid submission by the client application.
  • Internal changes to the control removed the dependency on some extended POP3 commands that are not widely supported on most servers. These changes will be transparent to the application and will ensure broader compatibility with more servers, reducing instances of where the control would return an error indicating that a feature is unavailable or not supported.
  • Corrected a problem where the status of a server's credentials was not being updated correctly when a secure connection was established. This could cause the control to report that the certificate should not be trusted, even though it was valid.
  • Modified the CertificateStore property so that a file name can be specified which contains the certificate that is to be used, if the server requires a client certificate for authentication. Note that the certificate file must be in PKCS12 (PFX) format and it must contain the private key that is associated with the certificate.
  • Corrected a problem where an error would be returned indicating that a feature was not available, when the actual problem was that the message number specified by the application was incorrect (i.e.: the message does not exist on the server or the message has been deleted). This error message would cause confusion when an application would use the LastErrorString value to display an error to the end-user. For example, if the application attempted to retrieve a message using an invalid message number, the user would see an error message stating that retrieving the message was not a supported feature. The error message now correctly reflects that the problem is the message number is invalid.
  • Changed the library that performs the debug logging to perform a more stringent version compatibility check. If developers are using the Trace, TraceFile and TraceFlags properties in their applications, they should always make sure that the matching version of the debugging library cstrace6.dll be included alongside their application executable. This corrects a problem where mismatched versions of the library could cause the application to crash. If the versions do not match, the control will silently refuse to load the library and the debug logging features will be disabled.

Version 6.0 Build 6010

  • Corrected a problem with the control where a general protection fault may occur when importing malformed messages with a certain message structure.
  • Corrected a problem where the control may not append the contents of a message correctly when submitting a message to the server for delivery.

Version 6.0 Build 6000

  • Updated for full compatibility with the Windows Server 2008 and Windows Vista SP1 platforms, supporting the new security model and TCP/IP stack. It is recommended that applications which target these platforms upgrade to the current version.
  • Improved the MIME parsing engine so that it will automatically attempt to correct problems with malformed messages, or messages which do not strictly conform to the RFC 822 and/or RFC 2045 standard message formats.
    Improved the POP3 and IMAP4 controls, libraries and .NET classes making them more efficient when processing very large mailboxes on the server.
  • Core networking code updated to use Windows Sockets 2.2 API and removed all previous dependencies on the Windows Sockets 1.1 and deprecated TCP/IP stack in unsupported versions of Windows. SocketTools is only supported on Windows 2000 and later platforms.
  • Redesigned the memory management code used to allocate buffers and private data structures for client sessions, improving performance and reducing overhead when multiple sessions are created in a multithreaded application.
  • Corrected a problem that could prevent mail exchange domains from being returned in the correct priority order.
  • Improved the performance for downloading very large messages under some circumstances. The internal algorithm used to recalculate the size of the dynamic buffer used by the transfer algorithm is more sensitive to higher latency network conditions.
  • Corrected a problem where a message would not be parsed correctly if multi-line header fields were folded in specific ways. Specifically this could cause a multi-part message that contained file attachments to be considered a single-part message.
  • Corrected a problem where the message may not be exported correctly if the encoding type was set to base64. The control will now automatically re-encode any message text that is encoded using base64. Note that encoding message text using the base64 algorithm is generally not recommended because it can cause some anti-spam filters to flag the message as spam.
  • Corrected a problem where multiple untagged responses from the mail server could result in a synchronization problem. Under rare circumstances this could cause a client operation to fail unexpectedly, indicating that an invalid result code was returned by the server.
  • The component is now more tolerant of certain non-standard responses returned by the mail server, rather than requiring result codes that exactly match the values specified in the protocol standard.
  • Corrected a problem that could result in an error with some servers indicating that the client session could not be authenticated, even though the authentication was successful.
  • Added support for AES (Advanced Encryption Standard) encryption for secure SSL/TLS connections on Windows Server 2008 and Windows Vista.
  • Updated the Developers Guide and Technical Reference and made improvements and corrections to the overall documentation.