Mercury Mail Transport
Mercury Mail Transport is an email and list server.
Mercury/32 v4.72 (July 2009)
V4.7 introduces one of the most-requested features for Mercury - the ability to run as a native Windows Service. It also has a number of other smaller features and numerous bug fixes.
- Native Windows Service If you purchase (or have already purchased) a license for Mercury, you can now choose to run Mercury as a native Windows Service, meaning that it will start up when the system boots without needing a login, and will continue to run if the desktop is logged out. Click here for more information on running Mercury/32 as a 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 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.
Mercury/32 v4.62 (June 2008)
V4.62 fixes a problem where sites using the old POP3 UID generation code could see messages being downloaded twice. It also includes some small revisions to the installer and some minor internal changes to the Daemon API. All sites who have installed v4.61 should upgrade to v4.62 as soon as possible.
Mercury/32 v4.61 (May 2008)
V4.61 includes a large number of minor fixes, and some notable new features:
- Notifications and alerts If you purchase (or have already purchased) a license for Mercury, you can now enable automatic checks for new releases and updates, security bulletins and general information about the program. To take advantage of this feature, see the new Alerts and notifications option on the Mercury Configuration menu.
Important note: if you had a subscription under the old licensing scheme (a 5 digit license number starting with '4') that was still valid on July 1st 2007, then you are automatically entitled to a free license that will allow you to take advantage of this service - please contact David Harris directly at David.Harris@pmail.gen.nz to arrange supply.
- Lingering Mailboxes This is a new performance option for the MercuryI IMAP server, especially aimed at people using "stateless" IMAP clients such as webmail packages. When it is turned on, Mercury defers breaking down the memory image of the mailbox when an IMAP connection terminates; if a new connection for the mailbox arrives before the standdown period has elapsed, it can be reused at once, hugely reducing the startup time for IMAP connections. Enable this option in the "Files" page of the "Core module" configuration dialog.
- IMAP INBOX now cached The Mercury IMAP server now caches the IMAP inbox, meaning that connecting to it will be significantly faster than in previous versions.
- IMAP Server performace improved Server performance, particularly when opening large folders, has been dramatically improved.
- DST-proof POP3 UIDs Because of a long-standing bug in Windows, the MercuryP POP3 server in the past reported different UIDs for messages after a change in Daylight Savings Time, resulting in clients re-downloading messages they had already seen. This problem has been fixed in v4.61, but the fix is disabled by default, because enabling it will cause one last re-download. You can turn it on whenever you're ready in the MercuryP configuration dialog.
- MB_MLSS heavily improved MB_MLSS, the MercuryB module that allows web-based management of mailing list subscriber settings, has been heavily overhauled. It now has options allowing subscribers to retrieve their passwords if they have forgotten them, and to change settings for all lists to which they are subscribed. As well, users can now select lists from drop-down controls instead of typing in their names (if you have 50 or fewer lists), and the service manipulates mailing lists directly, rather than going through the Maiser mail server interface.
- Mailing list password auto-assignment Mercury's mailing list manager can now be instructed to auto-assign passwords for new subscribers to mailing lists. This, combined with the new capabilities of the MB_MLSS module (see above) makes mailing list management easier and more secure.
- SMTP server enforces size restrictions In previous versions of Mercury, the SMTP server could be told to refuse incoming messages larger than a particular size, but only if the connected client used the ESMTP SIZE declaration. In v4.61, MercuryS now refuses *any* message larger than the size you specify, whether or not there is a SIZE declaration. This change *might* confuse some older SMTP client programs (we expect this to be a very rare occurrence if at all), but has become increasingly important in the age of spam and mail-borne viruses.
- POP3 Server completely overhauled The MercuryP POP3 server has been totally overhauled, and is now substantially faster than in previous versions.
- POP3 login-time listing constraints This powerful new feature allows users to control the messages the Mercury POP3 server will show them by adding a simple command to their POP3 username... For example, if you only want to see urgent messages from the "pmail.com" domain, you would login to your POP3 mailbox as username (urgent, firstname.lastname@example.org). We anticipate this feature being especially useful for people who use cellphones or other low-grade connectivity devices to check their mail.
- MSendTo commandline mailer This new utility allows you to send mail from the commandline. It is quite sophisticated, and can generate a wide range of message types, including digests and unlimited numbers of MIME attachments. MSendTo can be used in scripts or called from programs to send mail via Mercury.
- Threading in the core module In the past, the Mercury core module has been single-threaded (meaning that it can only ever be doing one thing at a time). With increasing processing of mail via external processes such as Mercury policies, SpamHalter, Content Control, filtering rules and so on, the time it takes to process a message in the queue has been getting longer and longer. As of v4.61, the Mercury core module now supports limited threading (it runs up to seven worker threads), which significantly improves queue throughput on heavily-loaded systems.
- Many, many fixes, including problems with IMAP UIDs being lost or duplicated after crashes, problems with the loader queue quarantine message being delivered multiple times and others.
Mercury/32 v4.52 (August 2007)
V4.52 fixes a security issue where an improperly-formed AUTH command to the SMTP server could result in crashes or remote exploits. This exploit is quite serious, and affects all v4 releases of Mercury prior to v4.52.
V4.52 also fixes a problem with the filtering rule "Save attachment to file" action (earlier versions did not allow you to specify a filename in the rule editor), extending the feature so that attachments can be extracted either to a specified file or to a directory using the transmission filename. Finally, it corrects a problem where certain characters used in IMAP folder names could cause crashes.
Mercury/32 v4.5 (May 2007)
It's been a long time between drinks... At first blush, not that much will seem to have changed between v4.01b and v4.5, but looks, as they say, can be deceiving. A huge amount of effort has gone into modernizing the internal Mercury code, with real emphasis on robustness and reliability.
The most significant changes in this version are the following:
- 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 is 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.
- 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, and the code in Mercury is quite smart about it, handling all the most commonly-encountered situations.
- 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.
- 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.
- GreyWall included The latest Mercury plugin from Lukas Gebauer is GreyWall, a greylisting interface for Mercury. With greylisting, unrecognized incoming mail servers are turned away with a temporary error on their first connection. This simple operation has no effect on real mail, since any proper mail server will simply retry a little later, but it immediately defeats practically all current spam zombies, because they are not set up to handle retries. Simply enabling GreyWall can reduce your spam levels by up to 90%, even if you have no other filtering in place!
- 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.
What's NOT in this version
For a long time now, I have been saying that incorporating a native webmail interface into Mercury is my highest priority, and this is still true. Unfortunately, the process has proven to be much less simple than I thought (and I was not being over-optimistic). The problem is not the mail management, but the HTML: designing a usable, attractive HTML-based interface that will work with a wide range of browsers is staggeringly complicated, and frankly, it's beyond the scope of my personal skill set at this point.
Although I still intend in the strongest terms to have a fully-integrated native webmail facility in Mercury/32, it's clear that I'm going to need assistance from others to produce it. In the short term, we will be concentrating on putting together either installer packages or how-to guides for one or more of the most commonly-used IMAP-based webmail interfaces that are known to work well with Mercury - please watch our web sites for announcements of availability on these packages.
Last year, one of my longest-standing testers and greatest supporters passed away after a tragic illness. Mercury/32 v4.5 is dedicated with love and sorrow to the memory of Merton Nickerson, a good friend, who is greatly missed.