What's new in Mercury/32 Mail Transport System 4.80.149

Jan 13, 2016
  • Version 4.8 was originally intended as a kind of "Version 5 dressed as version 4" release of Mercury. It has several significant new features that were originally flagged as V5 features, but because they are all quite fundamental, in the end I decided that it was fairer to release them in a way that would allow current v4.x licensees to gain access to them without requiring a new license. Over the course of its development, though, v4.8 has ended up taking on the feature list of a major release in its own right.
  • OpenSSL All Mercury modules that support secure connections using SSL/TLS now use the industry-standard OpenSSL libraries to do so. Using OpenSSL means greater interoperability with other sites, and allows the use of fully-signed certificates - indeed, Mercury even provides an easy, step-by-step generation process to create the CSR requests needed to purchase or acquire such certificates from online Certification Authorities.
  • TCP/IP overhaul The Mercury TCP/IP code, which is the core code that interacts with the Internet, has been totally overhauled. The main benefit of this comes with improved reliability and maintainability, which will make it easier to update the program in future - but you may also notice Mercury handling connections rather faster than in previous versions as well.
  • Completely rewritten help system Back in the days of Vista, Microsoft ceased supporting the ageing but functional WinHelp system, but failed to replace it with anything satisfactory (HTMLHelp, in particular, could not be used if the help file was installed on a shared volume, as Mercury frequently is). I finally completed my own help system in time to use it to host a completely reworked Mercury help file for this release. The new help system is up-to-date, consistently formatted, and much more usefully presented than the old version; it will also run properly no matter where Mercury is installed, or on what version of Windows it is running. The new system has a comprehensive table of contents and index, with free-text searching planned for future releases.
  • SSL support in MercuryE The MercuryE SMTP client now has comprehensive support for SSL connections in outgoing mail, and has an Access Control List that allows you to fine-tune connections and SSL usage for specific servers and domains.
  • Direct-connect SSL support in MercuryS and MercuryP The MercuryS SMTP server and MercuryP POP3 server now support direct-connect SSL, even though direct-connect SSL is formally deprecated by the Internet Standards Body. With the proliferation of low-quality cellphone mail clients, though, supporting direct-connect SSL has become unavoidable. Direct-connect SSL is turned off by default in both modules, but can be enabled in the 'SSL' settings page for each.
  • Mercury IMAP search rewritten The part of the Mercury IMAP server that implements searching has been completely rewritten: it should now handle any valid IMAP search expression (the old version had trouble with some operations) and should do it noticeably faster than the old version did.
  • Mercury IMAP fixes and improvements The MercuryI IMAP server has had numerous fixes and improvements made. Thunderbird users in particular should now find it works much better for them.
  • DMARC support for mailing lists DMARC is a convention used by a number of large sites, including Yahoo, which limits the hosts that can send mail for e-mail addresses in their domains. This plays merry hell with mailing lists, without providing any very good way of mitigating the problems. Mercury v4.8 does the best it can it encounters DMARC-restricted addresses in mailing lists, but our advice to you is the same as that of many other makers of mailing list management software - for the best experience using a mailing list, tell your subscribers to subscribe using an address that is NOT affected by DMARC.
  • Many, many bug fixes Behind the scenes there have been dozens of corrections made. While many of these were exotic and seldom-encountered, the overall effect is to improve the reliability and robustness of the program considerably.
  • As well as these features, Mercury now includes a commandline utility called HS.EXE which can be used to locate messages matching almost any header-based criteria very quickly and efficiently in directories containing large numbers of mail messages, such as spam repositories.

New in Mercury/32 Mail Transport System 4.74 (Jan 13, 2016)

  • Although it was my intention that v4.73 be the last in the v4.x family of Mercury versions, at a certain point it became clear that there needed to be another update to fix a variety of small problems before beginning the migration to version 5. V4.74 contains over 40 small fixes, and two rather more significant corrections: a problem where messages deleted by IMAP-based clients were not actually deleted and reappeared on the next connection has been fixed; and an issue where a site had more than 3 MX mail servers declared but the first three were all unavailable (which could cause Mercury to attempt to connect to the wrong host for delivery) has also been addressed.

New in Mercury/32 Mail Transport System 4.73 (Jan 13, 2016)

  • Selective SSL options The MercuryS SMTP server now has options that allow you to enable SSL support on the primary and alternate SMTP ports selectively (so, you can have SSL enabled on the secondary, but not on the primary, ideal for submission by your remote users). There are also new Access Control settings in the MercuryS ACL editor that allow you to enable or SSL based on the IP address of the connecting client.
  • ACL range corrections In previous versions of Mercury, access controls would not work correctly if the address range exceeded 256 addresses, and would occasionally work incorrectly with particular address ranges. These problems have now been fixed.
  • Duplicate message suppression You can now create an empty file called MSGIDS.MER in any mailbox directory (i.e, a directory where a .CNM file gets created), and this signals to Mercury that it should suppress duplicate messages in that mailbox. Duplicate detection is based on a combination of sender and message-ID, and only the last 200 messages delivered to the mailbox are actually remembered.
  • MercuryC forced sender option This option allows you to specify a single address MercuryC should use as the source of the mail it is sending when it is negotiating with the upstream "smart host". This option is quite technical, being buried in the depths of the SMTP transaction itself, and does not affect the "From" field in the message, or alter the contents of the message in any way, other than altering the Return-Path header that the smart host will write into the message. It is primarily aimed at users of services such as Yahoo Premium Mail, which require the SMTP "MAIL FROM" address to be the address of a known subscriber.
  • Extended POP3 lockout detection MercuryP now locks out any account with too many login failures for five minutes regardless of the address from which the lockout occurred. So, once any system has failed logging into a POP3 account, all systems are prevented from attempting to login to that account for five minutes. This feature is primarily aimed at botnets that attempt to crack passwords by logging in from successive different systems and trying username/password combinations until they fail, and is automatic.
  • Fixes for MercuryI IMAP MercuryI now saves UID lists any time they change: this should prevent UID synchronization problems from occurring, but may introduce small extra processing delays with very large folders. There have also been some changes in the way the IMAP SEARCH command is handled that should improve performance and reliability in a number of search scenarios, and MercuryI now caches FETCH data which should significantly improve performance and reduce load when clients like Apple Mail fetch messages a chunk at a time.
  • MBXMAINT updated The mailbox maintenance utility MBXMAINT has been heavily updated. It now fixes a wider range of problems, and can also correct folders where messages contain duplicate message identifiers (important for more reliable IMAP operation). The program has been split into a commandline version, MBXMAINT.EXE and a user-interface version, MXBMAINT_UI.EXE. Both versions have considerably better reporting and output.
  • Random filename generation fixed A very long-standing problem where the "random" filenames generated by Mercury were not very random and tended to repeat has finally been found and corrected. Mercury should now generate much more "random" filenames and the possibility of filename collisions should be dramatically lower as of this version.

New in Mercury/32 Mail Transport System 4.7 (Jan 13, 2016)

  • Native Windows Service
  • IMAP Direct-connect SSL support The approved way for clients to connect to IMAP servers via SSL is using a special command called STARTTLS, which Mercury has always supported. An older connection method, where the client connects directly to port 993 using SSL has been deprecated and discouraged for a number of years, but client developers are persisting in using it. Accordingly, and slightly against our best judgment, we have decided to support this deprecated SSL form in MercuryI
  • Ability to suppress short-term blacklisting Mercury/32 v4.5 introduced short-term blacklisting for the POP3 and IMAP servers to defend against dictionary password attacks. Unfortunately, for some sites using NAT or other "shared address" technologies, this could result in one user's errors locking out all other users on the server. V4.7 includes the ability to exempt certain addresses from short-term blacklisting in the POP3 and IMAP servers using connection control ACL rules
  • IMAP Server reliability improved A number of unusual or pathological IMAP error conditions that could cause problems in earlier versions of Mercury have been dealt with in v4.7
  • SMTP server size control exemptions You can now specify that certain addresses are exempt from the SMTP server's "maximum size" restrictions, allowing approved users to send messages of any size to or through your system
  • Many fixes , including problems with certain connection control restrictions not activating correctly on some occasions, and a problem where Yahoo alert messages using an illegal address format in the "From" field could cause crashes

New in Mercury/32 Mail Transport System 4.51 (Aug 3, 2007)

  • Queue overhaul - The Mercury queueing mechanism (the part of the program responsible for managing the queue of incoming and outgoing mail) has been totally overhauled. The new version is anything up to 100 times faster at traversing the queue, which can have a really significant impact for sites that handle large quantities of mail. The visible face of this overhaul are the new queue indicators in the core module window - these show the number of incoming and outgoing jobs in the queue at any time, and give you a general idea of the status of the queue in real time.
  • Memory management overhaul Far and away the biggest, yet least visible change in v4.5 is the way it handles memory allocation internally. Previous versions of Mercury have had memory leak issues to varying levels, some of which have been very hard to track down: the new memory allocation architecture in v4.5 has made memory leaks both much less likely and trivially easy to locate and fix.
  • Public folder delivery Mercury can now deliver directly into Pegasus Mail public folders, making this feature extremely powerful. Public folder delivery is handled by a new type of alias, and is easy to set up. Click here for more information.
  • Disclaimer and text insertion rules An oft-requested feature for Mercury is the ability to add disclaimer text to outgoing messages - v4.5 can do this and more using a new filtering rule action (meaning that you can insert text into both incoming and outgoing messages, and you can do so selectively). The process of inserting text into a mail message is actually surprisingly complex, but the code in Mercury is quite smart about it, handling all the most commonly-encountered situations. Click here for more information.
  • Filtering rules for outgoing mail only You can now create filtering rules that are only applied to messages being sent outwards from the system. Primarily added in support of the new disclaimer addition rule (see above), this also allows you to fine-tune mail leaving your system.
  • MercuryI IMAP server improvements The MercuryI IMAP server has been heavily overhauled to make it more robust and reliable. It now supports the IMAP AUTHENTICATE command and the use of a wide range of international characters in folder names (using the IMAP "modified UTF-7" encoding scheme). Performance should also be noticeably faster for many sites, especially those using IMAP-based web mail front ends such as SquirrelMail.
  • SSL support in MercuryD and MercuryC The MercuryD POP3 client and MercuryC relaying SMTP client both now support SSL connections.
  • Mercury Loader improved We don't think Mercury/32 v4.5 will crash (of course we have to say that)... But if it does, the loader process that monitors it is now much smarter: it keeps a log of restarts and is able to quarantine the Mercury queue if it determines that a job with some error we have not anticipated is causing repeated crashes. This eliminates system down-time and reduces the likelihood of any loss of mail due to queue errors to vanishingly small levels.
  • Delivery Status Notifications Mercury can now be instructed to send periodic status messages to message senders when their mail is delayed in the queue for whatever reason.
  • Delivery failure reporting improvements The MercuryC and MercuryE SMTP modules now generate considerably better error reports when problems are encountered during mail delivery.
  • Mailing list editor improvements The Mercury mailing list editor has been heavily improved to make it more reliable when used on heavily loaded systems. Some sites that previously reported periodic crashes when trying to edit lists in the Mercury GUI should now find these problems have gone. There are also new options to create new lists using an existing one as a template, and to adjust the order of moderators in a list.
  • Content Control editor revised The Mercury Content Control editor can now handle rule sets of any size, and supports multi-level undo, find and replace and other standard text editing operations.
  • SpamHalter and ClamWall included Lukas Gebauer's proven SpamWall Bayesian Spam Filtering technology has been renamed SpamHalter, and is now included as a standard part of the Mercury distribution, as is his ClamWall anti-virus filter interface. We encourage you to support Lukas with donations at his web site if you use these superb Mercury plugins.
  • MercuryS deferred HELO processing Many sites may wish to use Mercury's market-leading transaction filtering capabilities to weed out unwanted connections, but still allow users with no choice of host to access the server. To do this, MercuryS now allows you to apply filtering to SMTP HELO/EHLO commands but defer the action until later: if the user subsequently issues a successful AUTH command before the action is taken, it is cancelled and the user is allowed normal access.
  • Many changes to Daemon processing Mercury's Daemon (plugin) interface has been heavily extended with a wide range of new capabilities.