Build 3793: .NET 4.0 support, massive attachment sending in Mail

  |   Lukas Pokorny

.NET 4.0 and Visual Studio 2010 are supported

This release adds support for .NET 4.0 and Visual Studio 2010. Native .NET 4.0 builds of all our components are available.

Sending mail messages with massive attachments

In Rebex Mail, it is now possible to send huge attachmets using the new do-not-load-into-memory options. By huge, we mean attachments of virtually unlimited size. This feature is not enabled by default (because not loading data into memory has some drawbacks), so if you are interested in it, check out our Q&A forum.

Tumbleweed's SSL-like encrypted tunnel support

Tumbleweed SecureTransport servers are often used by large financial institutions. In addition to explicit and implicit TLS/SSL, these servers also support a proprietary SSL-like encryption tunnel that makes it possible to use encrypted connection but still be able to work with FTP-aware firewalls (designed for unencrypted FTP). Rebex FTP/SSL is one of the few FTP clients supporting this feature. To use it, just specify FtpSecurity.TumbleweedTunnel instead of .Explicit when connecting.

Complete list of changes:

  • FTP: Information about invalid data IP address detection is now written to the log.
  • FTP: Fixed a bug that caused "/" local path argument of PutFiles/GetFiles methods to be treated as current directory.
  • FTP: A more meaningful exception is raised when a premature OK response is received while still uploading data.
  • FTP: More information is logged when a FTP connection is broken.
  • FTP: A full local path is passed in FtpBatchTransferProgressEventArgs.
  • FTP: Added experimental FtpOptions.UseLargeBuffers to use larger internal buffers (doesn't seem to make substantial difference on most systems).
  • FTP: Fixed a bug in PRET command implementation that caused problems with DrFTPd servers.
  • FTP: FtpTransferProgressEventArgs now contain RemotePath and LocalPath when available.
  • FTP: FtpBatchTransferException is now serializable.
  • FTP: On .NET Compact Framework, SO _LINGER option is enabled for data sockets.
  • FTP/SSL: Added support for Tumbleweed's SSL-like encrypted tunnel encryption.
  • FTP/SSL: Removed useless pre-authentication feature check in implicit SSL mode.

  • SFTP: Fixed a bug that caused "/" local path argument of PutFiles/GetFiles methods to be treated as current directory.

  • SFTP: Added Sftp.Bind and Scp.Bind method to make it possible to bind the SFTP or SCP object to existing SSH session.
  • SFTP: A full local path is passed in SftpBatchTransferProgressEventArgs.
  • SFTP: SftpTransferProgressEventArgs now contain RemotePath and LocalPath when available.
  • SFTP: SftpBatchTransferException is now serializable.
  • SFTP: Queued data packets are no longer written to the output stream after download operation has been aborted.

  • 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.
  • S/MIME: Signed and/or encrypted e-mail messages with TNEF body are now parsed correctly.
  • 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.

  • SSH Shell: Added experimental support for CSH to Shell class.

  • SSH Shell: Added Ssh.Bind method to make it possible to bind the Ssh object to an existing SSH session.

  • Terminal: Fixed a bug that caused cursor to be redrawn incorrectly in some cases.

  • SSH Core: Added a workaround for a server that announces support for "password" authentication but requires "keyboard-interactive" instead.

  • SSH Core: Fixed a bug in ZLIB compression routines that caused compatibility problems with GlobalScape and BitVise servers when compression was enabled.
  • SSH Core: Fixed a bug that caused SSH session to hang if a broken (incomplete) SSH packet arrived (rare).

Rebex ZIP has just been released as well! We are now busy adding enryption capabilities to it. Is there a need for another ZIP component? We are sure there is, because Rebex ZIP is one of the few ZIP components that don't rely on any open-source library for ZLIB compression - yes, we wrote everything from scratch.

Also, we just launched our Twitter account - If you would like to be informed about what's going on at Rebex, you are welcome to follow us!