hMailServer changelog

Version 5.6.9 - Build 2607 (2023-03-12)

  • Issue 453: Incorrectly formatted SPF record can lead to crash
  • Issue 454: Upgraded to OpenSSL 1.1.1t

Version 5.6.9 - Build 2602 (2022-07-22)

  • Issue 434: Upgraded to OpenSSL 1.1.1q

Version 5.6.9 - Build 2587 (2022-03-15)

  • Issue 425: Upgrade to OpenSSL 1.1.1n

Version 5.6.8 - Build 2574 (2021-10-03) - Production

  • Issue 389: Upgrade to OpenSSL 1.1.1l

Version 5.6.8 - Build 2538 (2021-03-28)

  • Issue 352: Upgrade to OpenSSL 1.1.1k

Version 5.6.8 - Build 2534 (2020-12-31)

  • Issue 352: Upgrade to OpenSSL 1.1.1i.

Version 5.6.8 - Build 2501 (2020-04-24)

  • Issue 327: Upgrade to OpenSSL 1.1.1g

Version 5.6.8 - Build 2494 (2019-11-02)

  • Upgrade to OpenSSL 1.1.1d

Version 5.6.8 - Build 2451 (2019-08-05)

  • Issue 271: Support for TLS 1.3 added
  • Issue 271: Support for SSL 3.0 removed
  • Issue 271: Upgrade to OpenSSL 1.1.1c

Version 5.6.8 - Build 2444 (2019-08-01)

  • Issue 289: Upgrade to OpenSSL 1.0.2s

Version 5.6.8 - Build 2431 (2018-03-27)

  • Issue 255: Upgrade to OpenSSL 1.0.2o

Version 5.6.7 - Build 2425 (2017-12-14) - Production

  • Issue 243: OpenSSL upgraded to 1.0.2n.

Version 5.6.7 - Build 2420 (2017-11-12)

  • Issue 240: Upgraded to OpenSSL 1.0.2m.

Version 5.6.7 - Build 2415 (2017-07-09)

  • Issue 225: Fixes an issue where TLS would not be used if the sending server did not use the proper syntax for the STARTTLS command.

Version 5.6.7 - Build 2407 (2017-01-26)

  • Various security-related improvements have been made to hMailServer WebAdmin, primarily to reduce the risk of attacks using XSS and CSRF.
  • OpenSSL has been upgraded to 1.0.2k

Version 5.6.7 - Build 2405 (2017-01-06)

  • Issue 208: If the cipher list contains unsupported ciphers, hMailServer will now report an error but continue running. This change will prevent hMailServer from stop working after an upgrade (which previously happened if the cipher list contained ciphers supported in the old but not in the new version)

Version 5.6.7 - Build 2399 (2017-01-03)

  • OpenSSL upgraded from 1.0.1u to 1.0.2j. OpenSSL 1.0.1 is no longer supported by the OpenSSL team (starting 2017-01-01). OpenSSL 1.0.2 contains a lot of changes, for example removal of several weak ciphers. If your cipher list references ciphers which no longer exists, hMailServer will fail to start. This issue will be fixed in the next build.

Version 5.6.6 - Build 2383 (2016-09-22) - Production

  • OpenSSL upgraded to 1.0.1u.

Version 5.6.5 - Build 2367 (2016-06-07) - Production

  • Issue 173: Improved address syntax validation.

Version 5.6.5 - Build 2360 (2016-05-03)

  • OpenSSL has been upgraded to 1.0.1t.
  • Deleting an account with an empty account address deletes the data directory.
  • Issue 127: hMailServer should be able to accept email from and deliver email to quoted mailboxes containing spaces.
  • Issue 166: When hMailServer is running, it should accept to OS-shutdown requests from Windows (this should reduce the number of errors logged when a server running hMailServer reboots).

Version 5.6.5 - Build 2339 (2016-04-23)

  • When installing the client tools for hMailServer, now all necessary dependencies are installed as well.
  • The installation program is now rendered properly on high-DPI screens. Previously, some texts were truncated.
  • Issue 149: When searching for messages using IMAP and a "Not Deleted" criteria, sometimes incorrect email messages were returned in the response.

Version 5.6.5 - Build 2329 (2016-03-20)

  • Custom script files are no longer uininstalled when uninstalling hMailServer.
  • The error message when trying to create two IP ranges with the same name has been improved.
  • A confirmation dialog has been added when deleting or emptying an IMAP folder in hMailServer Administrator.
  • OpenSSL has been upgraded to 1.0.1s.
  • The hMailServer service is now registered in Windows with a quoted path, to prevent the service from being vulnerable to "Unquoted service path". Unquoted service paths would allow a user with access to the server where hMailServer runs, but with less privileges than hMailServer, to gain the privileges of hMailServer by creating a new executable and placing it in C:\Program\Files\hMailServer\hMailserver.exe.

Version 5.6.5 - Build 2293 (2015-12-04)

  • OpenSSL upgraded to 1.0.1q

Version 5.6.4 - Build 2283 (2015-07-09) - Production

  • OpenSSL upgraded from 1.0.1o to 1.0.1p to solve a security issue related to certificate validation:

Version 5.6.4 - Build 2280 (2015-06-26)

  • Issue 109: Fixed plaintext injection vulnerability when using STARTTLS. This issue made it possible for an attacker with man-in-the-middle access to intercept traffic.

Version 5.6.4 - Build 2271 (2015-06-20)

  • OpenSSL has been upgraded from 1.0.1m to 1.0.1o.
  • Sometimes when stopping the server, an error regarding "abandoned wait" was reported.
  • If the log file was locked by an external processed, a crash dump file was created.
  • Issue 99: If a TCP disconnect occurs during TLS handshake, the connection is not immediately released

Version 5.6.3 - Build 2249 (2015-04-03) - Production

  • The new ini file setting DisableAUTHList allows you to specify a comma-separated list of SMTP ports which authentication should not be enabled for. This is useful when working with legacy systems with malfunctioning SMTP support.
  • Issue 94: When upgrading hMailServer, the list of languages in hMailServer.ini is no longer over-written.
  • Issue 97: When TLS is used, elliptic crypto should be available.

Version 5.6.2 - Build 2234 (2015-03-19) - Production

  • OpenSSL upgraded from 1.0.1l to 1.0.1m

Version 5.6.2 - Build 2232 (2015-03-16)

  • Fixed file access issues introduced in earlier 5.6.2-builds.

Version 5.6.2 - Build 2223 (2015-03-12)

  • OpenSSL upgraded from 1.0.1k to 1.0.1l.
  • Issue 50: When performing forwarding, hMailServer now keeps the original From address rather than changing to that of the forwarding account. This change was made to reduce risk of message delivery failures. To force the previous behavior, set RewriteEnvelopeFromWhenForwarding=1 under the [Settings] section in hMailServer.ini.
  • Issue 86: Server did not restart after the delivery queue was manually cleared.

Version 5.6.1 - Build 2208 (2015-01-26) - Production

  • Issue 77: Domain administrators should not be able to change server administrator password (security)

Version 5.6.1 - Build 2205 (2015-01-09)

  • OpenSSL upgraded to 1.0.1k

Version 5.6 - Build 2145 (2014-11-13) - Production

  • Sometimes an error was logged when hMailServer received a message over SMTP (issue has not existed prior to 5.6)
  • The number of current TCP connections were not always counted properly (normally 2-3 extra connections were shown), leading to incorrect info on Status page. Issue occurred when you had multiple ports set up for same protocol.

Version 5.6 - Build 2136 (2014-10-30)

  • Issue 50: Forwarding of message should update From-address to forwarding account address.

Version 5.6 - Build 2132 (2014-10-17)

  • The "Received"-headers in email message now contains SSL/TLS cipher details
  • Created a default SSL/TLS cipher list, disabling old broken ciphers. Follows Mozillas recommendations.
  • Added TCP/IP port 587 as new port for SMTP (affects new installations only)
  • Reverse DNS lookup now works for IPv6
  • Added support for DH ciphers for TLS. Enables Perfect Forward Secrecy.
  • Added setting to disable SSLv3, TLSv1.0, TLSv1.1 and TLSv.2
  • Added setting to disable certificate verification.
  • Renamed Security node in UI to SSL/TLS

Version 5.5.2 - Build 2129 (2014-10-15) - Production

  • Upgraded to OpenSSL 1.0.1j

Version 5.5.1 - Build 2107 (2014-10-04) - Production

  • IOCP: Server would sometimes stop responding when clients disconnected incorrectly.

Version 5.5.1 - Build 2103 (2014-10-02)

  • A session timeout issue could cause hMailServer to stop responding.

Version 5.5.1 - Build 2094 (2014-09-30)

  • When an unhandled error occur, hMailServer now generate a minidump with detailed error information.
  • hMailServer now allows certificates with purpose SERVER_GATED_CRYPTO and SGC_NETSCAPE to take part in certificate chains.

Version 5.5.1 - Build 2076 (2014-09-22)

  • An unknown issue is causing hMailServer to stop responding. An attempt has been made to address this.
  • Message delivery failed if recipient server did not support EHLO.

Version 5.5 - Build 2074 (2014-09-04)

  • If an IP address is specified as Target SMTP Host for a SMTP Relayer or SMTP Route, hMailServer would always attempt to deliver to and the delivery would fail.
  • An experimental fix has been made to an issue related to session counting. Previously, hMailServer could assume that the number of current sessions were higher than they actually were.
  • When communicating with other SMTP servers, hMailServer will now assume that they support ESMTP, even if they do not advertise that in the initial greeting. This solves an issue where hMailServer would not use STARTTLS even if the remote server supported it.
  • When communicating with MySQL, hMailServer will now use the utf8mb4 character set for the connection if MySQL supports it. Previously hMailServer as using the utf8 character set.
  • WebAdmin has been updated to use UTF-8, which means that entering for example a signature with Japanese characters now works.
  • Issue 18: If several attachments were blocked in the same email, hMailServer now adds the same number of new attachments describing that the original attachment was removed. Previously only one attachment was added.
  • Issue 21: The SMTP error code for "Recipient not in route list" has been changed from 421 to 550, to indicate that this is a permanent error.

Version 5.5 - Build 2058 (2014-08-15)

  • Delivery of messages larger than 64kb to remote hosts was likely to fail.
  • WebAdmin has been updated to include new settings related to STARTTLS.

Version 5.5 - Build 2053 (2014-08-14)

  • In hMailServer Administrator, it's now possible to import the recipients of a distribution list.
  • Support for STARTTLS

Version 5.4.2 - Build 1964 (2014-06-08) - Production

  • Security: Upgrade to OpenSSL 1.0.1h

Version 5.4.1 - Build 1951 (2014-04-08) - Production

  • Issue 424: Included new version of OpenSSL to fix Heartbleed bug.

Version 5.4 - Build 1950 (2013-06-03) - Production

  • An error occured when adding a new external account using WebAdmin.

Version 5.4 - Build 1949 (2013-05-19)

  • hMailServer now consolidates outgoing email messages smarter when routes and SMTP relayer is in use. This results in fewer connections to the SMTP relay / route server.
  • Sometimes using SpamAssassin resulted in corrupt email messages due to incorrect parsing by SpamAssassin response.

Version 5.4 - Build 1948 (2013-05-05)

  • Sometimes files remained in temp directory after SpamAssassin had been invoked.

Version 5.4 - Build 1947 (2013-04-09)

  • Quotes have been added around 7bit to be RFC3501 compliant.
  • Mailbox sometimes remained locked after a timeout.
  • All recipients to particular route kept combined instead of split into individual emails.
  • File permissions of 7z backup could be admin-only or incorrect when backing up messages due to 7za temp folder usage. Now using hmail's temp folder instead of system temp.
  • Issue 409: Issue with forwarding (Auto-Submitted header)

Version 5.4 - Build 1946 (2013-02-09)

  • UseSSL setting has been added for external accounts in WebAdmin.
  • Issue 405: Whitelisting didn't work with IPv6 addresses.

Version 5.4 - Build 1945 (2013-01-02)

  • SQL Compact did not work properly on Windows 2000.
  • Issue 393: SURBL lookup sometimes failed.

Version 5.4 - Build 1944 (2012-08-08)

  • Added Auto-Submitted header. Will contain the value auto-replied for messages which is generated using auto-reply funcitonality or rules. Also prevents hMailServer from auto-replying to auto-submitted messages.

Version 5.4 - Build 1942 (2012-07-15)

  • Internet Explorer is no longer required when installing hMailServer, which makes hMailServer runnable on Windows Server 2008 R2 Core.

Version 5.4 - Build 1931 (2011-08-21)

  • Full paths are no longer stored in the database. Only message file name is now stored in the hm_messages table.
  • hMailServer is now open source.

Version 5.3.4 - Build 1913 (2010-12-11)

  • Stability fixes. In certain scenarios, hMailServer could stop processing incoming requests.

Version 5.3.3 - Build 1879 (2010-06-06) - Production

  • Issue 312: In some cases, the POP3 server returned incorrect data which could lead to corrupt attachments. Changes have been made to prevent this error. The error was apparent when retrieving PDF files which had been sent using Outlook Express.
  • Issue 313: If hMailServer was configured to download messages from a server which did not support UIDL, hMailServer timed out. hMailServer has been changed to disconnect immediately and report an error when this happens. The External account functionality in hMailServer does not work with POP3 servers not supporting UIDL.
  • Issue 314: If DKIM was enabled and a user sent an email with no text in the body, hMailServer did not correctly sign the message.
  • Issue 1879: OpenSSL has been upgraded to version 0.9.8o.

Version 5.3.3 - Build 1846 (2010-05-02)

  • Issue 288: The live log in hMailServer Administrator could stop work, and Administrator could hang, if there was a high throughput in hMailServer.
  • Issue 306: If a DNS blacklist returned several DNS records, hMailServer only analyzed one of them.

Version 5.3.3 - Build 1829 (2010-04-02)

  • If public folders are used and the logged on user does not have permission to modify folder contents, hMailServer now explicitly tells the client that the mail box is read only. Before, hMailServer only informed the user when he tried to perform an action he did not have permission for.
  • In DataDirectorySynchronizer, it's now possible to select from a list what domains should be synchronized.
  • The OpenSSL package included with hMailServer has been upgraded to version 0.9.8n.
  • Issue 294: If an IMAP client issued the SELECT or EXAMINE command, hMailServer did not produce a complete response - the UIDNEXT value was missing from the response. This is not known to cause any errors apart from being an incorrect behavior.
  • Issue 303: If a domain administrator had access to the API, it was possible for him to create new domains. Only server administrators should have permissions to do this.

Version 5.3.2 - Build 1769 (2010-01-24) - Production

  • If hMailServer tries to report statistics to, and is not available, the SMTP delivery will stop. Messages will still be queued up so no email will be lost.
  • When Spamhaus were used, false positive were sometimes reported (under high Spamhaus load?). In the DNS blacklist settings, it's now possible to specify ranges by using -, for example It's also possible to specify more than one address by using |, for example| This makes it possible to specify more granular values than before.
  • In some cases hMailServer extracts the senders IP address from the Received headers in email when doing anti-spam. If hMailServer was unable to do this extraction, the anti-spam tests were aborted. This has now been changed so that hMailServer still does the anti spam tests, but skips the ones which are dependent on the IP address (DNS black lists and SPF).

Version 5.3.2 - Build 1761 (2010-01-12)

  • Issue 285: The catch-all address specified in the domain settings did not have any effect.

Version 5.3.1 - Build 1748 (2009-12-28) - Production

  • Issue 284: If a message is sent to an alias, which forwards the message to a route, and that route only has the aliased address listed - not the original address, hMailServer will not accept the message delivery.

Version 5.3.1 - Build 1746 (2009-12-20)

  • hMailServer sometimes reported an error about being unable to notify IMAP clients about mailbox changes. The problem occurred if the client had disconnected in an incorrect way.

Version 5.3.1 - Build 1739 (2009-12-16)

  • If a user was a part of two groups, and these two groups had conflicting permissions, it was not clear what permission was used. Now the first permission is used.
  • When setting up a rule, the Body criteria did not include the HTML body part of the email message. It does now.
  • Issue 242: Performance improvements have been done to the message indexer when Microsoft SQL Server or PostgreSQL is in use.
  • Issue 274: It was not possible to rename a folder from SomeName to SomeNameTest without first renaming it to something completely different. This issue was introduced in the previous build.
  • Issue 282: hMailServer did not work properly with Symbian N60. When the phone was notified about new messages, the sender name was not always shown.

Version 5.3.1 - Build 1720 (2009-11-30)

  • There was a memory leak when using PostgreSQL. Memory increased steadily over time.
  • hMailServer no longer caches the administrator password. Should solve problem with the Invalid password-message directly after install.
  • The log message TCPConnection - Posting AcceptEx on ip:port did not log the correct ip:port details.
  • If a client sends a POP3 command while hMailServer is delivering a message to it, that command will now be processed after hMailServer has sent the message.

Version 5.3.1 - Build 1712 (2009-11-27)

  • If the delete threshold was set to a lower value than the mark-threshold in the anti spam settings, hMailServer only executed a single anti spam test.
  • When doing DNS lookups, hMailServer no longer parses the services-file. The services file is a file included in Windows which contains a mapping between a service name (http, smtp, etc) and a port number (80, 25, etc).
  • The built-in diagnostic test always attempted to connect on port 25 when testing outgoing connections. If a SMTP relayer is in use, hMailServer now uses the TCP/IP port specified in the SMTP settings instead.
  • If a DNS reply takes more than 20 seconds to execute, hMailServer now reports an error to the error log. Slow DNS replies may be an indication of incorrect DNS configuration in Windows.
  • OpenSSL has been upgraded to version 0.9.8l.
  • Issue 268: If an IMAP client asked hMailServer to sort messages based on the Date, hMailServer did not always give the correct result.
  • Issue 274: Using Outlook, it was possible to corrupt the hMailServer folder structure by moving a folder into one of its own sub folders. For example, it was possible to execute a command which moves the folder Test\Sub to Test\Sub\Sub1. If a user did this, he could no longer access his mailbox.

Version 5.3.1 - Build 1680 (2009-11-04)

  • Issue 267: hMailServer sometimes generated invalid message UIDs. This could have the effect that new messages did not show up in folders. The problem occurred if a rule executed a script function which saved a message, and another rule moved the same message after that. This fix prevents the problem from occurring again. To repair the problem in the database, run the Reset folder UIDs maintenance script, located here:

Version 5.3.1 - Build 1653 (2009-10-26)

  • Issue 264: Searching for strings in UTF8 format did not work properly when using IMAP.
  • Issue 266: Sorting on Arrival doesn't work with some IMAP clients. Sorting on Date works fine.

Version 5.3 - Build 1617 (2009-10-03) - Production

  • Issue 261: When restoring a backup, the restore of accounts failed if messages were not restored.

Version 5.3 - Build 364 (2009-09-20)

  • hMailServer now reports results from DNS blacklists to the TCP/IP log. This makes it easier to figure out which DNS blacklists caused a message to be rejected.

Version 5.3 - Build 363 (2009-09-16)

  • To improve security, empty passwords are no longer permitted.
  • When an error occurs it's logged to the hMailServer error log and the standard log (if application logging is enabled). In the normal log file, the first column of the error line contained APPLICATION rather than ERROR. It now says ERROR which makes it easier to locate error-lines in the standard log file.
  • If a DNS lookup fails, this was reported as an error before. DNS lookups may fail if the recipients DNS server is not properly configured, and this is not an error in the hMailServer installation. Due to this, this is no longer reported as an error to the hMailServer log, but rather mentioned in the bounce message.
  • Issue 247: When a new message is added to a folder using an IMAP client, hMailServer now explicitly tells the same client that a new message has been added to the folder. This should solve problems with listing of Draft messages in Thunderbird.
  • Issue 249: If spam protection was enabled, but header tagging was not, hMailServer would fail to download messages from external accounts containing spam messages.
  • Issue 250: If SPF test passed, but another spam test failed and the message was rejected during the SMTP conversation, sometimes the rejection description sent to the client was empty.
  • Issue 253: When clearing the delivery queue, orphaned rows were left behind in the hm_messagerecipients table.

Version 5.3 - Build 362 (2009-08-28)

  • hMailServer now supports IPv6.
  • It's now possible to bypass grey listing if a connection arrives from a MX or A record for the sending domain.
  • In the SpamAssassin settings, there's now a Test button which allows you to easily confirm that the SpamAssassin connection information is correct.
  • In the MX query, you can now right click on rows and copy to clipboard.
  • There was some inconsistencies related to IMAP folder hierarchy delimiter. When creating rule actions, the only valid IMAP folder delimiter is the one specified in the IMAP settings. If you've selected that . is the delimiter, specifyinng the IMAP folder name Folder\SubFolder will cause a folder with the name "Folder\SubFolder" to be created, rather than one named Folder and a second named SubFolder.
  • A new event has been added, OnExternalAccountDownload.
  • Issue 238: IMAP: hMailServer sometimes produced a BODYSTRUCTURE response with a syntax error.
  • Issue 240: If you tried to add route members prior to saving the route, an error was shown.
  • Issue 244: IMAP: The \Recent flag not removed properly, which made duplicate messages appear in RoundCube.
  • Issue 245: The AD integration in hMailServer Administrator didn't always add correctly configured hMailServer accounts.

Version 5.2.2 - Build 362 (2009-10-02)

  • Issue 261: Account restore failed if you did not choose to restore messages.

Version 5.2.1 - Build 361 (2009-08-22) - Production

  • Issue 243: Issue 243. When restoring a backup, addresses specified in a route were not restored.

Version 5.2.1 - Build 360 (2009-08-14)

  • Issue 241: When IMAP clients requested body structure information for a message, hMailServer were in some cases unable to create this, which resulted in the message not being shown to the client. An error message related to PartStructure were logged when this error occurred.

Version 5.2.1 - Build 359 (2009-08-06)

  • Issue 235: If messages were stored on a network share using UNC-format, hMailServer failed to move messages.

Version 5.2.1 - Build 358 (2009-08-05)

  • When trying to access WebAdmin, a version error was reported.

Version 5.2.1 - Build 357 (2009-08-04)

  • Issue 234: Auto ban did not always work, depending on the connecting IP address.

Version 5.2 - Build 356 (2009-07-21) - Production

  • Performance improvements have been made to the MySQL upgrade scripts. Upgrading larger installations to v5.2. should now be at least twice as fast.
  • When restoring a backup, restored messages received new UID's, which made them impossible to download.

Version 5.2 - Build 355 (2009-07-16)

  • If invalid folders had been created in 5.1, the upgrade to 5.2 would fail. The upgrade scripts have been modified so that if an invalid folder is found, it will be renamed to foldername-folderid.

Version 5.2 - Build 354 (2009-07-05)

  • If an email is being sent to a multihomed host with no MX records, hMailServer will bounce the delivery saying that there are no email servers. (Issue 229)

Version 5.2 - Build 353 (2009-07-02)

  • If one test resulted in PASS and another one FAIL, an empty X-hMailServer-Reason line was added to the MIME headers.
  • If two clients was auto-banned at the exact same time (millisecond), hMailServer could fail to auto-ban one of them if they were connecting from different IP addresses.
  • When connecting to a new server using Administrator, the server name in the title was not updated.

Version 5.2 - Build 352 (2009-06-21)

  • The default retry ccount for routes was set to zero.
  • If a DNS query fails, the bounce message now says that rather than "No mail servers appear to exists for the recipients address."
  • If the max number of recipients in every batch was set to zero, deliveries didn't work. Now "0" means unlimited.

Version 5.2 - Build 351 (2009-06-21)

  • The message "The password is weak. are you sure you want to use it?" was always displayed in english.
  • Data directory synchronizer failed to import messages from disk.

Version 5.2 - Build 350 (2009-06-17)

  • Another problem related to showing attachments with åäö in RoundCube. Problem occured if file name was short.

Version 5.2 - Build 349 (2009-06-12)

  • A new option has been added to routes which allows you to specify whether messages arriving from route addresses should be considered local or not.

Version 5.2 - Build 348 (2009-06-07)

  • In hMailServer Administrator, under Utilities, a new basic diagnostic tool is now available. This tool helps you troubleshoot basic set up issues.
  • If a client sends a message from a local domain, the sener is now considered local. The same applies if his address matches a route. The previous behavior was that a sender was only considered local if his address matched an local account. This means that if you send from an alias address, you are now considered local. Please note that it's still not possible to authenticate using an alias though.
  • In the grey listing options you can now choose to bypass greylisting if SPF passes.
  • In the grey listing options you can now choose to bypass greylisting if SPF passes.
  • A new rule action has been added; Create Copy. This can be used for example to deliver copies of the same message to different destination servers.
  • A new rule criteria has been added; Delivery attempts. This can be used for example to deliver messages to different routes, depending on the current number of delivery attempts.
  • If hMailServer tries to deliver the same message multiple times, global rules will now be executed every time.
  • When you delete domains in hMailServer, you now need to confirm the deletion before the domain is removed.
  • The database upgrade is now done in a transaction (assuming the underlying database supports it).
  • In the database setup wizard, the creation log on the second last page is now cleared when the page is shown. Previously, the log could contain data from previous creation attempts, which could cause confusion.
  • Issue 145: IMAP UIDNEXT is now implemented.
  • Issue 201: It's now possible to index messages in folders, which increase disk usage but speeds up IMAP sort.
  • Issue 207: Incomplete upgrade of WebAdmin may result in bad error message.
  • Issue 209: If a Date header contained the timezone "GMT" (with quotes, obsolete syntax) the message was not displayed if Outlook Express was used.
  • Issue 213: If MySQL with InnoDB was used, message ID's could sometimes repeat themselves, which could lead to lost messages (client dependant).
  • Issue 215: If a message is downloaded from an external account, the message was not delivered to recipients on routes. There is now a new option in the external account settings which allows you to enable this behavior.
  • Issue 218: Attachment names containing non-latin characters didn't always show up properly.

Version 5.1.2 - Build 346 (2009-05-09) - Production

  • Issue 216: SMTP connection sometimes dropped during DKIM verification. This problem occurs if a the DNS server publishing the publi key publishes a CNAME record which points at the TXT record which contains the actual public key.

Version 5.1.2 - Build 345 (2009-05-09)

  • Issue 211: If the network connection was dropped during delivery to another server, hMailServer did not attempt to retry delivery later.
  • Issue 212: If a string is not translated, Administrator won't show the corresponding english string.

Version 5.1.2 - Build 344 (2009-04-30)

  • Issue 210: Duplicate UID's may be sent over IMAP if Messages.Add() API function is used.

Version 5.1.2 - Build 343 (2009-04-24)

  • More checks have been added to the installation program to prevent users from making mistakes.
  • Issue 206: If an IMAP client timed out while copying messages, sometimes message folders were created directly under the Data directory.
  • Issue 208: In WebAdmin, it was not always possible to create new accounts (depending on database engine and its configuratio) .

Version 5.1.2 - Build 342 (2009-04-19)

  • Issue 203: In Administrator, it was possible to enable DKIM signing without specifying settings.
  • Issue 204: In the IMAP protocol, ACL was advertised to the client as enabled even if it was not.
  • Issue 205: If SpamAssassin hanged or crash, hMailServer would hang as well.

Version 5.1.1 - Build 341 (2009-04-15) - Production

  • SMTP: When disk was full, hMailServer gave a permanent error to the client. This has been changed to temporary.
  • Core: Auto-ban does not always work, depending on the client IP address.
  • Administrator: No error message was displayed when user tried to create two routes with the same name.
  • Administrator: When changing TCP/IP port configuration, the user is now asked if he wants to restart the server. (Which is required for the change to take effect).
  • Administrator: The window position saved in full screen mode. This had the effect that it was sometimes a bit hard to restore the window size after a restart.
  • Administrator: Listing accounts in larger Active Directory domains sometimes timed out.
  • WebAdmin: The title on the Greylisting page was "Auto-ban" instead of "Greylisting.

Version 5.1 - Build 340 (2009-04-06) - Production

  • Administrator: The tree menu to the left wasn't always rendered properly when using Windows Vista with the "Aero"-theme.

Version 5.1 - Build 339 (2009-04-05)

  • Administrator: Improvements have been made to the live log performance.
  • SMTP: If hMailServer rejects a SMTP client command with a temporary 4xx-error (such as greylisting), this is no longer counted as an invalid command which may get the client disconnected.
  • Installation: The performance of the database upgrade scripts for upgrades to v5.1 has been improved.

Version 5.1 - Build 338 (2009-03-29)

  • Added a limit so that hMailServer never processes more than five DKIM-Signature headers in a single email message (to prevent different types of abuse).
  • Administrator: The numbers on the Status page is now refreshed automatically.
  • Installation: If the user is using an old version of the internal MySQL database and tries to upgrade to v5 before first installing the latest v4-build, the hMailServer installation program will stop.
  • Installation: If a user is using v4 with the internal database, uninstalls hMailServer (and MySQL) and then upgrades to version 5, the hMailServer installation program will stop. A user cannot do this, since he will then not have any MySQL installation.
  • POP3: When a user logs on, any message which has been marked by deletion by his IMAP client but not been deleted will have it's \Deleted flag removed. This is to prevent issues for users who are using both POP3 and IMAP to access the same mailbox.
  • Other: OpenSSL has been upgraded to 0.9.8k.
  • Other: Data Directory Synchronizer has been added to the hMailServer group in the Start menu.

Version 5.1 - Build 337 (2009-03-21)

  • SMTP: DKIM verification failed when a message contained more than one signature.
  • Installation: Some minor usability improvements have been made.

Version 5.1 - Build 336 (2009-03-18)

  • DKIM verification failed when message body contained more than 2 spaces in a row.
  • API: When adding plain text/html/attachment parts to a message, the entire message is now reconstructued to prevent malformed messages.

Version 5.1 - Build 335 (2009-03-15)

  • SMTP: If the last header in an email message was Message-ID, hMailServer added a duplicate Message-ID header.
  • Anti-spam: If the DKIM I tag contained the character "t", the verification would fail.
  • Issue 182: Administrator: If you try to create an IP range where the Lower IP is higher than the Upper IP, an error message will now be shown.

Version 5.1 - Build 334 (2009-03-10)

  • Core: Server is now starts up faster than before (1 second instead of 3-4).
  • Core: Added a lock to prevent hMailServer from starting more than 10 simultaneous virus scanners even if the number of delivery threads are higher.
  • API: If a charset specification was in upper case in an email, hMailServer didn't decode properly.
  • Misc: In Data Directory Synchronizer, it's now possible to delete files in the data directory but not in the database.
  • Issue 168: IMAP: Search for message indexes and internal UID's did not work properly. Caused problem with specific email clients. (Issue 168 and 169).
  • Issue 173: API: If you try to attach a file which is unavailable, hMailServer now gives a more descriptive error message.
  • Issue 175: SMTP: If it takes more than 10 minutes to deliver an email message, hMailServer timeouted before.

Version 5.1 - Build 333 (2009-03-01)

  • Administrator: It's now possible to sort the lists under Undelivered Messages and Live log again.
  • WebAdmin: A robots.txt has been added to prevent search engines from trying to index WebAdmin.
  • Core: The stability of the thread pool has been improved.
  • Core: The message deliverer performance has been improved slightly.
  • Core: The return-path header is now added when the message is put into the user account, rather than when the message is received from the sending SMTP client / server. The reason is that according to the SMTP spec, SMTP servers should add the header when making the final delivery.

Version 5.1 - Build 332 (2009-02-26)

  • Some options have been rearranged to make WebAdmin look more like Administrator.
  • The DKIM-option in the Anti-spam settings have now been added to WebAdmin.
  • The width of WebAdmin is no longer fixed, which makes it easier to use on wide screens displays.

Version 5.1 - Build 331 (2009-02-10)

  • Core: The log setting Mask passwords in log has been removed - passwords are now always replaced with *** in the log.
  • SMTP: A v= attribute is now added to the DKIM-Signature header.
  • SMTP: In some cases the DKIM signing was incorrect.
  • WebAdmin: The log setting Keep files open has been added to the web interface (was added to hMailServer Administrator in v5.0)

Version 5.1 - Build 330 (2009-02-06)

  • SMTP: New SMTP authentication options are available.
  • WebAdmin: Rule editing didn't work when register_globals were set to off.
  • SMTP: More logging is added when DKIM verification is made. If DKIM verification fails, the Debug log now contains information on what caused the failure.

Version 5.1 - Build 329 (2009-02-04)

  • SMTP: A new SMTP auth setting has been added to the IP range which allows you to disable SMTP auth requirement for inbound deliveries.
  • SMTP: In response to EHLO from a client, hMailServer now sends the host name rather than a hard coded text.
  • SMTP: If a route was set up in which "Deliver to addresses below" was selected, external delivery to other domains failed.
  • Administrator: When using high contrast mode in Windows, the text on the tree to the left is now visible.
  • WebAdmin: 5.1 functionality now implemented.
  • WebAdmin: It's now possible to edit rules using PHPWebAdmin.
  • Core: hMailServer now validates that a compatible database server version is in use. If not, an error is reported and the startup is aborted.
  • API: ItemByName on the IMAPFolders collection did not work if the folder name contained non-latin characters.
  • API: Add() on the IMAPFolders collection did not work if the folder name contained non-latin characters. (Issue 164)

Version 5.1 - Build 327 (2009-02-02)

  • hMailServer now supports DKIM. Signing options are available in the domain settings and verification options in the anti-spam settings.
  • The "Forwarding relay" option is no longer a setting in IP ranges but instead stored separately as "Incoming relays". The settings are found next to the IP ranges in hMailServer Administrator and WebAdmin. This change was made partly because the term "Forwarding relay" was a bit confusing and partly to improve performance.
  • In the external account settings, there's now options to enable Anti-spam and Anti-virus. In earlier versions, the IP range configuration was used to determine whether or not Anti-spam or Anti-virus should be run for external accounts.
  • In IP ranges, you can now specify an expiration time when the IP range will be automatically removed by hMailServer.
  • It's now possible to auto-ban users after a number of failed logon attempts. When a user is auto-banned, an IP range matching his IP address is created which prevents the client from connecting again. By default, a user who fails to log on 3 times within 30 minutes will have his IP address banned for 60 minutes.
  • In IP ranges, it's no longer possible to select Require authentication for deliveries to local account or Require authentication for deliveries to external accounts. Instead, there is a single option named Require SMTP authentication. When this option is selected, local users must authenticate prior to sending an email.
  • The layout in WebAdmin has been changed to a tab-based system. This makes the user interface less cluttered.
  • If you're doing a new installation, the installation program will ask you whether you want to use the built-in database or an external one. If you're upgrading, the installation program will assume you want to keep the current database and not ask you about it.
  • Issue 160: The timezone information added to the Received and Date header is sometimes incorrect. hMailServer only considers hours but not minutes when adding this text. In some timezones, such as Newfoundland which is GMT -03:30, the minutes are relevant.

Version 5.0 - Build 326 (2009-01-28) - Production

  • When changes to messages were made in a public folder, other users weren't always informed.

Version 5.0 - Build 325 (2009-01-21)

  • An error was shown when displaying SMTP settings in WebAdmin.

Version 5.0 - Build 324 (2009-01-19)

  • The Database Delivery Log function has been removed and replaced by a script, found in the User contributed scripts section of the online forum.
  • In the scripting event OnAcceptMessage, the oClient.Port number returned the port the client was connecting from, rather than the port it was connecting to.

Version 5.0 - Build 323 (2009-01-08)

  • hMailServers response to the IMAP list command did not properly include namespace.

Version 5.0 - Build 322 (2009-01-07)

  • OpenSSL has been upgraded to 0.9.8j which fixes a spoofing issue (

Version 5.0 - Build 321 (2009-01-02)

  • It wasn't possible to display messages having an attachment with file names containing specific character.

Version 5.0 - Build 320 (2008-12-29)

  • When selecting "Download now" in an external account, any changes made to the external account configuration after the latest save was not used.
  • When configuring hMailServer to connect to another server using SSL, it's now possible to enable verification of peer certificate (via certificate authority).

Version 5.0 - Build 319 (2008-12-23)

  • The server could in some cases crash when resolving invalid DNS records.

Version 5.0 - Build 318 (2008-12-16)

  • If the MySQL client is not available, a better error message is now shown to the user.
  • It wasn't possible to give IMAP folder permission to "Anyone".
  • A new version of OpenSSL is included (0.9.8i).
  • The "Maximum number of invalid commands" in the SMTP settings now applies to logon failures as well, which means that the setting can be used to limit the number of invalid SMTP auth attempts. This is no complete solution though, since the user can simply reconnect and continue trying.
  • If an IMAP client did not have permission to modify message flags but tried to do it, no error was reported to the user (the request was silently ignored).

Version 5.0 - Build 317 (2008-12-14)

  • Trying to select a user in the IMAP permissions dialog before adding any domains or users resulted in an error message.
  • Forwarding messages using rules sometimes failed.

Version 5.0 - Build 316 (2008-12-13)

  • Performance improvements (slightly reduced memory usage).
  • HELO-host spam check gave false positive when using a forwarding relay.
  • When deleting an IMAP folder, notifications about new messages weren't always sent.
  • If a POP3 mailbox was larger than 2GB, the size wasn't reported properly in the POP3 communication. (It's not known whether this causes any issues).

Version 5.0 - Build 315 (2008-12-09)

  • Improvements have been made to the database scripts to speed up upgrades of large databases.
  • If the database delivery log was enabled, a warning was shown when opening up the SMTP settings.
  • The "Move up" and "Move down" buttons were missing in the rule list.
  • In version 4, forwarding was performed after account level rules. In V5, this ordering was changed. It's now changed back to the v4-order to maintain backwards compatibility.
  • WebAdmin now contains a version check which confirms that the WebAdmin version matches the hMailServer version.
  • IMAP: If a folder was shared, expunge notifications weren't sent properly between clients.
  • Issue 153: If the InnoSetup flag /VERYSILENT is passed to the setup executable, hMailServer Administrator will no longer be started after the installation is done.
  • Issue 155: SMTP: When hMailServer rejected messges, a non-standard SMTP error code was used. While this shouldn't cause any problems, a standard error code is now used instead

Version 5.0 - Build 314 (2008-11-27)

  • The "value"-part of a "Set header field" action wasn't saved.
  • Performance improvements when adding a large number of accounts (> 10000).
  • When appending a new message to a public folder, the message wasn't stored properly. (Only affected new message, not message copy)
  • Sometimes when copying messages between public folders, other clients weren't notified properly.
  • When changing the number of delivery threads, a restart of the server is no longer needed for the change to take effect.
  • Enabling the cache did not take effect until server restart.
  • When changing the cache TTL, the hit rate information is now reset so that you can correctly see the effect your change has.
  • The Received-header in email messages no longer contains the With hMailServer-text (change made to improve security)
  • Issue 147: SMTP: Error on QUIT causes duplicate messages.

Version 5.0 - Build 313 (2008-11-13)

  • In the Rule criteria dialog, it's now possible to test whether a specific value will match the criteria. This makes it easier to create, for example, regular expressions.
  • SURBL tests missed URLs which were split onto more than one line.
  • After Anti-Spam has been run, the debug log now contains the score returned by the different spam protection mechanisms.
  • Security vulnerability SA32597 has been fixed.

Version 5.0 - Build 312 (2008-11-08)

  • The folder list sometimes included a linefeed, which caused Thunderbird to crash. (Thanks DFitch!)
  • Sometimes Outlook gave the error message "The uid of a message changed unexpectedly". A workaround which may solve this issue has been implemented.

Version 5.0 - Build 310 (2008-11-03)

  • If a domain had a MX record with a host name, and that host name didn't have a DNS/A record, the SPF anti spam mechanism reported a false positive.
  • The #public folder was not included in the LIST response, making it invisible in some clients. (The sub folders were included in the LIST response)
  • The ini file setting DNSBLChecksAfterMailFrom now works. It was removed during the re-design of the spam protection but have been added again.
  • When a public IMAP folder was deleted by an IMAP client, the folder cache in hMailServer wasn't immediately updated.
  • The error handling in the IMAP component has been rewritten to improve performance.

Version 5.0 - Build 309 (2008-10-28)

  • Score based spam protection. In version 5, every spam protection mechanism generates a spam score for an email message. If the total spam score reaches a certain threshold, the message will be marked as spam. If it reaches an even higher threshold, it may be deleted. This new functionality will improve the overall spam classification of messages.
  • Built in SSL encryption. Using this new functionality, you can set up a secure connection between hMailServer installation and your users. The SSL functionality is also available when hMailServer communicates with other servers which supports SSL. For example, you no longer need to use external tools to download messages from other SSL POP3 servers.
  • hMailServer 5 includes a SpamAssassin integration which makes spam detection more efficient. After SpamAssassin has been installed, you can configure hMailServer to use it simply by enabling the integration.
  • hMailServer now supports Public folders. You can now set up public folders which some or all users on the server can access. It is possible to give users (or groups) separate permissions for these public folders, for example to make sure that only moderators can add or delete messages in the folder. Messages can be put into these public folders either manually, or by using rules.
  • hMailServer is now officially tested with Windows Vista and Windows Server 2008.
  • Support for PostgreSQL have been added. Next to MySQL and Microsoft SQL Server, hMailServer can now use PostgreSQL as backend store.
  • Fully integrated database. In earlier versions, MySQL was bundled as the default database option. In version 5, this has been changed to MSSQL CE. The database engine will be hosted by hMailServer which makes hMailServer easier to install. Upgrades will not be affected by this change.
  • It's now possible to trigger a manual download of messages from external accuonts.
  • In the account settings, you can now create and delete IMAP folders connected to the accounts. You can also manually empty accounts.
  • A Delivered-To header can be added to incoming messages. This header will contain the value of the recipient address specified in the SMTP conversation.
  • In hMailServer Administrator, it's now possible to see the number of currently active SMTP, POP3 and IMAP sessions.
  • You can now define a maximum size of messages which are going to be scanned for spam.
  • In hMailServer 5, you can use rules to specify which route should be used when delivering a message. This makes it possible to override the default routing functionality.
  • In version 5, the hMailServer COM API has full support for Unicode. This means that scripts which accesses email data will have no problem accessing messages containing for example japanese or arabic characters.
  • A lot of new functionality have been added to the hMailServer COM API. See the Com API change log for more information.
  • The Database Delivery Log function has been removed and replaced by a script, found in the User contributed scripts section of the online forum. The reason is that this functionality has caused problems for users who have enabled it without knowing what it does.
  • Many objects in the API has been removed or replaced. Please see the API change log for more information.

Version 4.4.4 - Build 287 (2008-12-23) - Production

  • The server could in some cases crash when resolving invalid DNS records.

Version 4.4.4 - Build 286 (2008-12-08)

  • Issue 254: SMTP: Specific error codes given by the recipients server aren't handled properly. This may cause hMailServer to retry delivery even if a delivery has failed permanently.

Version 4.4.3 - Build 285 (2008-11-09) - Production

  • This build fixes hMailServer Security Vulnerability (SA32597).

Version 4.4.3 - Build 284 (2008-11-09)

  • A security problem has been found in PHPWebAdmin which may be used by attackers to gain access to the server. The purpose of this build is to distribute a version which is open for review. Since the fix is still preliminary, it is recommended that you disable PHPWebAdmin until a final solution has been made.

Version 4.4.2 - Build 283 (2008-09-06) - Production

  • SMTP: A user could cause a hMailServer instance to crash by sending a large message which fills up the hard drive on the server. In this build, hMailServer will stop writing to the message file when the Max message size limitation is reached reducing the risks of this.

Version 4.4.2 - Build 279 (2008-07-11)

  • SMTP: In Rules, it is now possible to explicitly define which route should be used for a specific message.
  • IMAP: Specific commands sent over IMAP could cause hMailServer to crash. Parameter sanity checks have been added to a lot of commands to prevent this.

Version 4.4.2 - Build 278 (2008-03-29)

  • POP3: When hMailServer downloaded messages from external POP3 accounts, dates were not always parsed properly.

Version 4.4.2 - Build 277 (2008-03-09)

  • IMAP: Rename of root IMAP folders did not work properly and sometimes left orphaned folders until service restart.

Version 4.4.2 - Build 276 (2008-02-11)

  • SMTP: In rare cases, hMailServer delivered duplicate messages to external recipients. It happened in some cases if multiple MX hosts were specified for the recipient domain, if the messages contained multiple recipients and some of them failed temporarily on both the first and second MX host. (Also depending on timing during disconnection from the remote server).

Version 4.4.2 - Build 275 (2007-11-13)

  • SMTP: A fix has been made to the DNS client in hMailServer. Previously, memory was leaked when DNS queries were made.

Version 4.4.1 - Build 273 (2007-07-30) - Production

  • If a user got access to the hMailServer COM API and authenticated, he could change password for other users on the same domain. (Issue 105)

Version 4.4.1 - Build 272 (2007-07-29)

  • Data Directory Synchronizer: When adding messages to the database, the create-time of the message in the database is set to the timestamp found in the first Received header. If no such timestamp exists (or is unparseable), the timetamp in the Date header is used. If this isn't found (or is unparseable), hMailServer uses the current date and time as create-time.
  • POP3: If you configure hMailServer to delete messages from external accounts after X days, they are never deleted from the remote server.

Version 4.4.1 - Build 271 (2007-05-05)

  • Anti spam: Using two new ini file settings, it's now possible to configure how often expired greylisting records should be cleared from the database, and whether or not greylisting should be active during this period. The new settings are named GreylistingEnabledDuringRecordExpiration and GreylistingRecordExpirationInterval.
  • Issue 92: POP3: If a large number of external accounts were set up, hMailServer started too many parallel downloads.
  • Issue 93: Administration: When restoring a backup, descriptions for white listing records were not restored.
  • Issue 97: SMTP: E-mail addresses in white listing records were case sensitive.

Version 4.4 - Build 270 (2007-04-09) - Production

  • Administrator: Minor GUI problem in External accounts dialog.
  • Administrator: When adding a new DNS blacklist or SURBL server, it was possible to two objects with the same name. This had the effect that you got a "Duplicate key" error message and had to restart the service.

Version 4.4 - Build 269 (2007-04-01)

  • POP3: hMailServer now adds a X-hMailServer-ExternalAccount header to the beginning of messages which have been downloaded from external servers. This header contains the name of the external account the message was downloaded from.
  • SMTP: After a rule script has been run, the message data is now re-loaded from disk, since the script may have changed its contents. This makes it possible to take different actions depending on the new content in following rules.

Version 4.4 - Build 268 (2007-03-24)

  • SMTP: A change has been made to the way email addresses are parsed in MIME headers, to allow larger deviation from the RFC's. (Because users who type in their email addresses in their email clients know little about RFC's. This is required when hMailServer downloads messages from other servers and is configured to deliver to the recipients in the MIME header).

Version 4.4 - Build 267 (2007-03-20)

  • API: A new event, OnDeliveryStart, has been added. This event is executed directly when the delivery of a message has started, before the global rules are executed.
  • Administration: hMailServer Administrator crashed if user tried to add two aliases or lists with same address.
  • Issue 90: Administration: In PHPWebAdmin, it was possible to delete your own account if register_globals was enabled.

Version 4.4 - Build 265 (2007-03-16)

  • IMAP: hMailServer crashed if an incorrectly formatted RENAME was sent. A general fix has been made to prevent this type of error. (Issue 88)

Version 4.4 - Build 264 (2007-03-15)

  • POP3: If a client disconnects without QUIT'ing, any message deletion flag is now removed.
  • Issue 87: POP3: Sometimes sender address wasn't parsed properly when downloading messages from external servers. This may lead to problems if hMailServer is going to deliver the message to an external recipients. (Issue 87)

Version 4.4 - Build 263 (2007-03-04)

  • The built-in MySQL server is now configured to auto-recover if corrupt tables occur (myisam-recover=FORCE,BACKUP). This change only effects new installations.
  • PHPWebAdmin: When using PHP5, it was not possible to view account settings.
  • PHPWebAdmin: It was not possible to log on using a domain name alias.
  • PHPWebAdmin: Changes made to Active Directory settings were not saved. (Issue 85)
  • hMailServer Administrator: When renaming domains, accounts were sometimes incorrectly renamed. (Issue 86)

Version 4.4 - Build 262 (2007-03-04)

  • Misc: A new version of the auto-reply/vacation plugin for SquirrelMail has been included. Makes it easier to select expiration date. (thanks gruenie!)
  • FIX: A change has been made to prevent bounce-messages from looping when rules are used.
  • SMTP: Expired greylisting triplets are now cleared once every 4 hour instead every minute. (Increases database performance).
  • FIX: When using SQL Server or MySQL in strict mode, it was not possible to add new external accounts.
  • Performance: PHPWebAdmin now only shows sub-nodes for the currently selected object in the tree to the left, which speeds up the scripts in larger installations.

Version 4.4 - Build 261 (2007-02-24)

  • FIX: When an error notification is sent due to a delivery failure, the notification now contains a bit more information regarding the problem. (The IP address of the server hMailServer was trying to deliver to, and the hMailServer command which resulted in the problem)
  • FIX: Sometimes error HM4403 was reported when messages were being deleted due to spam/virus protection. (Caused incorrect IP address logged in Awstats log)
  • FIX: If messages were deleted using IMAP, but not purged some POP3-clients reported inconsistencies between the STAT and UIDL/LIST responses when accessing the mailbox.

Version 4.4 - Build 260 (2007-02-11)

  • API: It's now possible to check the current number of delivery attempts by accessing the DeliveryAttempt property on the hMailServer.Message object.
  • API: It's now possible to access headers by name, by calling Headers.ItemByName("Name") on the hMailServer.Message object to retrieve a hMailServer.MessageHeader object.
  • Feature (minor): It's now possible to configure how many times hMailServer should try to connect to the database server during start-up.
  • See (ConnectionAttempts, ConnectionAttemptsDelay)
  • FIX: If a user added a message to a mailbox (for example Sent items), but disconnected before it had completed, an orphaned message was left in the data directory.
  • FIX: If displaying of notices were enabled in PHP, it was not possible to add domains to PHPWebAdmin.
  • FIX: If a non-existant account had been specified as mirror address, hMailServer now prevents looping.
  • # FIX: Issue 80, If no subject had been specified in the auto-reply settings, the subject on the reply email always became "Re:".
  • FIX: Issue 82, Timeouts during DNS queries previously sometimes lead to message marked as spam.
  • FIX: Issue 83, If a password contained a \, it was not possible to log on POP3 (never has been).
  • Misc/FIX: A change has been made to the garbage collection algorithm to make it a bit more stable.

Version 4.4 - Build 259 (2007-02-04)

  • FIX: Sometimes an empty message was created when downloading messages from external servers.

Version 4.4 - Build 258 (2007-01-23)

  • FIX: A new rule action exists, Stop rule processing which cancels the remaining rules on the current level
  • FIX: DNS/A lookups are now recursive. This means that if a MX record points at a CNAME record, hMailServer will now look up the IP address for the host name in the CNAME record.

Version 4.4 - Build 257 (2007-01-16)

  • FIX: It wasn't possible to log on PHPWebAdmin using a default domain. (Only when specifying the full email address name as log in name).
  • FIX: If a DNS-error occurs when hMailServer does a MX check during spam protection, hMailServer now assumes that the senders domain has MX records.
  • FIX: Path to virus scanner was not displayed properly when containing ".

Version 4.4 - Build 256 (2007-01-12)

  • When you list the messages in the queue, hMailServer now shows total message count under the list.
  • If an error occurs in PHPWebAdmin, it's now presented in a slightly more user-friendly way.
  • If checking of senders MX records have been enabled, hMailServer now checks for MX records both on the senders top-domain and sub-domain. (So if an email is sent from, hMailServer checks for MX records both on and
  • An extra check has been added to the DNS resolver to prevent invalid responses from DNS servers to create problems. (If hMailServer asks the DNS server for MX records for, the DNS server may respond with MX records for another domain which could cause problems)
  • FIX: ID78, It was possible to create accounts exceeding the max domain size by entering incorrectly formatted account sizes.
  • FIX: Depending on date formats in the regional options, it was not always possible to save account changes.
  • FIX: hMailServer Administrator no longer shows the text "Warnings" on the status screen if there aren't any warnings.

Version 4.4 - Build 255 (2007-01-12)

  • PHPWebAdmin now includes the new features.
  • ORDB is no longer included in the default list of DNS blacklists.
  • API: A hMailServer.MessageHeaders can now be retrieved using the Headers property on the hMailServer.Message object.
  • API: The RefreshContent method on the hMailServer.Message object allows you to reload the content of an email message from disk.
  • API: hMailServer.Account::VacationMessageExpiresDate is now of type String, instead of VariantDate.
  • If checking of senders MX records have been enabled, hMailServer now checks for MX records on the senders domain not including any sub domain. For example, if someone sends from, hMailServer will check that the domain has MX records. The reason for this is that there's no point in checking, since this results in to many false positives.
  • _ has now been added to the list of valid plus addressing characters. (Not in PHPWebAdmin yet. Will be included in next build)

Version 4.4 - Build 254 (2007-01-12)

  • Bugfix C68 - hMailServer now checks the host name in the HELO command, even if the sender address is empty.
  • Bugfix C43 - Leading and trailing spaces are removed from domain names, if the user has accidentally added this.

Version 4.4 - Build 253 (2007-01-12)

  • See What's new for changes in this build.

Version 4.3.2 - Build 266 (2007-01-12)

  • IMAP: hMailServer crashed if an incorrectly formatted RENAME was sent. A general fix has been made to prevent this type of error. (Issue 88)

Version 4.3.1 - Build 253 (2007-01-12) - Production

  • Bugfix C79 - If an external software had modified the .eml file in the data directory in an incorrect way, hMailServer could sometimes not send it to POP3 clients.

Version 4.3.1 - Build 252 (2007-01-12)

  • When saving anti spam settings in PHPWebAdmin, the value of 'Allow empty sender address' was inverted. (PHPWebAdmin updated)

Version 4.3.1 - Build 251 (2007-01-12)

  • The full English translation is now included.

Version 4.3.1 - Build 250 (2007-01-12)

  • Support for Windows Vista has been added. Please note that this is still experimental.
  • In earlier versions of hMailServer it was not possible to send a message to a distribution list if one of the recipients did not exist. From now on, hMailServer will accept the message and deliver it to the existing recipients.
  • If a SMTP client had added a leading space to the host name in the HELO command (which is a violation of the SMTP RFC), hMailServer did not accept email from the client. The implementation has been changed so that hMailServer ignores this client error.

Version 4.3.1 - Build 249 (2007-01-12)

  • Bugfix C69 - IMAP literals did not work in previous builds. This bug had the effect that some IMAP commands in specfic clients failed. For example, logging on Horde/IMP did not always work.
  • Bugfix C21 - The fix for an old bug which was fixed in 4.2.2 was not included in hMailServer 4.3. This had the effect that an infinite loop was created when downloading messages formatted in a specific way. The risk of the problem occuring is relativly low and it will only occur with some specific POP3 clients.

Version 4.3 - Build 248 (2006-08-21) - Production

  • Bugfix: C66 - Upgrades from earlier versions failed when MySQL with InnoDB was used, due to incompatible SQL statements.
  • Bugfix C67 - It was not possible to update exiting distribution list recipients in PHPWebAdmin without removing and adding them again them.

Version 4.3 - Build 247 (2006-08-21)

  • Bugfix: C65 - If an hMailServer Event Script tried to access something in the API which it did not have privileges to access, hMailServer sometimes failed to report a descriptive error message.

Version 4.3 - Build 246 (2006-08-21)

  • Bugfix: C64 - When hMailServer detected a message as spam using SURBL, MIME headers was not modified if hMailServer was configured to do this.

Version 4.3 - Build 245 (2006-08-21)

  • Bugfix: C63 - In some cases, hMailServer was unable to determine whether a client had disconnected. In theese cases, hMailServer did not force a client disconnect. But if this happened often, it lead to a high memory usage.

Version 4.3 - Build 244 (2006-08-21)

  • Bugfix: C61 - Validation of hosts in the HELO command were performed for IP addresses as well. This may have the effect that hMailServer falsely classifies an email as spam.
  • Bugfix C62 - Plus addressing did not work recursively. For example, it was not possible to set up an alias which forwarded to a "plussed" address. This is now possible.
  • Performance: An performance improvement has been made which speeds up the time it takes for hMailSever to MIME-decode email with a lot of message recipients in the headers (>500). In previous version, parsing a list of 2 500 recipients could take as long as 15 seconds. This has been decreased to about 0.05 seconds.
  • Performance: An improvement has been made to the IMAP Sort algorithm. Sorting large mailboxes on From, CC and Subject headers is now up to 4 times as fast.
  • UI: Error message when a script has failed to call Authenticate() has been improved.
  • UI: All the language files have been updated. To prevent incorrect characters in the user interface, all translation is now in Unicode.

Version 4.3 - Build 243 (2006-08-21)

  • Bugfix: C59 - If a "Move to IMAP folder" had been set up in an account-level rule, this could under certain circumstances be performed for other local recipients of the email as well.
  • Bugfix: C60 - MIME-decoding could fail for certain messages. This had the effect that they could not be processed by rules and scripting. It could also have the effect that they were not displayed properly in the email client.
  • Functionality: When DataDirectorySynchronizer imports messages from the data root directory, it no longer sends messages to all external recipients of the email messages. This change has been done to prevent duplicate emails from being sent. Earlier versions, running DataDirectorySynchronizer could for example forward email back to mailing lists.
  • Bugfix / Performance: DataDirectorySynchronizer now releases objects from memory when they are no longer needed, which leads to an performance improvement when importing a large number of messages.
  • UI: In hMailServer Administrator, the following changes have been made to the user interface: * The Backup node have been moved to the Utilities node. The reason for this is that the backup functionality is not server settings but more a server utility. * The Spam protection and AntiVirus nodes have been moved to the Settings node. The reason for this is that spam protection and AntiVirus are applied on email downloading from other servers using POP3 so it does not only effect SMTP.
  • Functionality: If you add AddXAuthUserHeader=1 to the Settings section in hMailServer.ini, hMailServer will add a X-AuthUser header to email (if SMTP authentication has been used). This functionality should be seen as experimental.
  • Functionality: If SMTP authentication is used, hMailServer now re-authenticates the user between every email in the same session. This change was made to prevent (authenticated )inactive users from being able to continue to send email by keeping the SMTP connection open.
  • Functionality: A change has been made to the IMAP implementation to resolve compatibility problem with misbehaving Nokia E61s.

Version 4.3 - Build 242 (2006-08-21)

  • Bugfix: C58 - When adding an email message to an IMAP folder, the client should be able to set the \Answered and \Flagged flags immediately. This was not implemented in hMailServer. (Caused the two flags to be lost when copying email messages between different accounts / server)
  • Bugfix: C57 - Delivery of email could sometimes fail, leading to email not being delivered before sevice restart.
  • Bugfix: C56 - COM API methods Client.IPAddress and Client.Port always returned an empty value in the OnAcceptMessage event.
  • UI: In the Live log in hMailServer Administrator, it's now possible to sort the data by clicking on the different columns. Please note that the sort is text-based and not numerical. This means that for example 125 will appear before 90.
  • UI: Translations of the user interface have been added.
  • COM API: An exception is now thrown if hMailServer::Application::Database::ExecuteSQL() fails.

Version 4.3 - Build 241 (2006-08-21)

  • When hMailServer downloads messages from other POP3 servers, and you have configured hMailServer to search for recipients in the MIME headers, hMailServer now searches in all the Received: headers as well.
  • Improved logging when email can't be parsed. If an unhandled error occurs while hMailServer is parsing an email message, the .EML file is now moved to \Logs\Problematic messages\ folder. Feel free to forward such .EML-files to the hMailServer Development Team for further troubleshooting.
  • Bugfix: C55 - IMAP: Search command doesn't include for flags When a client uses a IMAP SEARCH command, hMailServer ignored the flags specified in the search command. This had the effect that email clients sometime could show incorrect messages in message listings.

Version 4.3 - Build 240 (2006-08-21)

  • Issue 37: If a message was deleted during virus scanning, or by a rule, this wasn't logged in the AWstats-log.
  • Issue 49: When a message is deleted during SURBL anti spam protection, this isn't logged to the application log.
  • Issue 54: DefaultDomain is applied to empty addresses. This means that if you have specified a default domain, and someone tries to send you an email with empty sender adderss, the email address will be set to and hMailServer won't accept the eamil.

Version 4.3 - Build 239 (2006-08-21)

  • Issue 48: hMailServer sometimes sent duplicate messages. The problem occured when hMailServer tried to send to a domain with several MX records and is able to deliver messages to the first MX server, fails to connect to the second and then is able to connect to the third.

Version 4.3 - Build 238 (2006-08-21)

  • When an email has been downloaded from an external account, and processing of MIME headers is enabled but no recipients could be found, hMailServer will now deliver the email to the account in which the external account was created.
  • Issue 47: The new list auhtorization lookup in 4.3 wasn't recursive. This had the effect that it was possible to circumvent the authorization by creating lists and then send via them.

Version 4.3 - Build 237 (2006-08-21)

  • Issue 45: When IDLE is enabled, and an IMAP client issues an EXPUNGE, the IDLE-subscribers will always receive a message that a message has been removed from the INBOX, regardless of what folder the message was deleted from.

Version 4.3 - Build 236 (2006-08-21)

Version 4.2.2 - Build 198 (2006-08-31)

  • hMailServer now supports ClamWin 0.88.1 and later. (There was an update in ClamWin on how the command line parameters were parsed, which broke compatibility)
  • Issue 25: The restore process sometimes hung when restoring distribution list recipients.

Version 4.2.1 - Build 197 (2006-06-17) - Production

  • Issue 17: PHPWebAdmin: The 'Allow empty sender address' setting was is inverted.
  • Issue 18: IMAP: Non-UID COPY failed when folder name contained space.
  • Issue 19: SMTP: If a rule was set up to forward message to non-existant accounts, endless loops cound be created.
  • Issue 20: SMTP: Under certain circumstances, hMailServer allowed SMTP deliveries even though the IP ranges where set up to disallow this.

Version 4.2 - Build 195 (2006-06-17) - Production

  • Issue 16: hMailServer did not always detect attachments of type message/rfc822 correctly. This had the effect that they were not always displayed correctly in SquirrelMail.

Version 4.2 - Build 193 (2006-06-17)

  • hMailServer failed to download messages from certain POP3 servers.
  • Messages with a certain type of MIME formatting, wasn't parsed correctly by hMailServer. This had the effect that some attachments did not show correctly in some email clients.
  • It's now possible to run backup's even the service is running, but the server isn't started.
  • Issue 13: When sending an email, and using SMTP authentication, the user name had to be a primary domain name and not an alias.

Version 4.2 - Build 190 (2006-06-17)

  • When deleting a message using the COM API, the message was not removed from the hMailServer message list cache, which caused email clients to show a message that the message was missing.
  • If an attachment contained non-ASCII characters, it was not always added to the Attachments collection in the COM API.
  • When choosing language in hMailAdmin, it was not possible to choose Catalan.
  • If you added an attachment using the COM API, it was not possible to fetch the name of it afterwards. Also, when using the COM interface to iterate over attachments in an existing message, it was not always possible to extract the file names of the attachments.

Version 4.2 - Build 187 (2006-06-17)

  • If a single MX record pointed at a host name with several A records, hMailServer only tried to deliver email messages to the first A record. If the delivery to the first A record failed, hMailServer did not try the next.
  • Extended error logging when parsing XML streams.
  • The SMTP relayer password was sometimes lost when editing SMTP server settings.

Version 4.2 - Build 186 (2006-06-17)

  • A number of new translations have been added, such as Korean and Catalan.
  • In some cases, the IMAP response hMailServer gave was not parsable by certain SquirrelMail-versions.
  • If an Auto-reply body contained only one line of text, the body was empty in the reply-email.

Version 4.2 - Build 184 (2006-06-17)

  • The Microsoft SQL Server databse scripts includes a number of new indexes to improve performance.
  • hMailServer no longer does tarpitting for connections coming from an IP range where spam protection is deselected.
  • If the database went down at the exact same moment hMailServer was saving a message, the message wasn't saved and the user wasn't notified. This is now fixed.
  • A number of small fixes were made to the way attachmens are handled by the COM interface. It should now be possible to create emails that includes both a HTML body, a plain text body and attachments.

Version 4.2 - Build 181 (2006-06-17)

  • Under certain circumstances, Outlook could fail to show that new messages has arrived. This problem occured when several clients accessed the same mailbox at the same time. hMailServer now keeps track of folder state per IMAP connection.

Version 4.2 - Build 180 (2006-06-17)

  • Server-side IMAP sorting didn't always sort messages properly when sorting on the Date-header.
  • hMailServer no longer removes the \Recent flag from messages when an IMAP connection is closed.

Version 4.2 - Build 175 (2006-06-17)

  • When using Microsoft SQL Server, an error message was written to the log when starting a backup.
  • Forwarding of messages did not work properly.

Version 4.2 - Build 173 (2006-06-17)

  • This is the first hMailServer 4.2 beta. It includes a wide range of new features such as built in backup support, awstats support, IMAP sort extension, new API's and increased performance.

Version 4.1.1 - Build 140 (2006-06-17) - Production

  • Internal message date not always set properly when an IMAP client appended a mailbox. This had the effect that when using certain IMAP clients, the Received-date wasn't displayed properly after copying messages from one IMAP server to another.

Version 4.1.1 - Build 139 (2006-06-17)

  • The POP3 server could under very rare circumstances fail to lock up mailboxes, even though the user had been logged out.

Version 4.1.1 - Build 138 (2006-06-17)

  • Reply-rules did not always work. Sometimes the email was not deliverd properly.
  • hMailServer timed out to early when delivering messages to external servers. Timeout increased from 2 to 10 minutes.

Version 4.1.1 - Build 137 (2006-06-17)

  • When adding an IP address in the multihome section, hMailAdmin might not add the address you have entered.

Version 4.1 - Build 136 (2006-01-01) - Production

  • The To column in Undelivered messages didn't show recipients properly. Instead of showing recipients for the current message, the column showed all recipients for the message plus the recipients for the previous message in the list. Only an error in the user interface.

Version 4.1 - Build 135 (2006-01-01)

  • The SMTP deliverer could under some conditions start more simultaneous deliveries than defined by Delivery threads.

Version 4.1 - Build 134 (2006-01-01)

  • An problem in the IMAP FETCH implementation made some e-mail clients sometimes download partial attachments.

Version 4.1 - Build 133 (2006-01-01)

  • In some cases, the DNS resolver reported an error when records were missing for a domain (which isn't an error).
  • hMailAdmin crashed when editing an external account and deleting the value in the "delete messages after"-textbox.

Version 4.1 - Build 132 (2006-01-01)

  • When upgrading from pre-4.0, the installation program copies hMailServer.ini from the Windows directory to the bin directory. But it leaves a copy of hMailServer.ini in the Windows directory, which may cause confusion. From this build, after the installatoin program has copied the file from the Windows directory to the Bin directory, it renames the old file to hMailServer.ini.old.
  • Installation program now remembers whether you're using internal or external database. So the next time you install, you do not have to select it again.

Version 4.1 - Build 131 (2006-01-01)

  • hMailAdmin, DBSetup and other hMailServer tools now starts at least double as fast. (The language file is parsed more efficiently).
  • The recipient is now shown properly in the undelivered message list. Since 3.0, this column has been empty.
  • Live logging now works even if you have not configured the service to interact with the desktop. It now also works when using terminal services.
  • Using the Message.HeaderValue property, it's possible to add and modify existing headers.
  • The Message.Date property in the COM API is no longer read-only.
  • When creating a new message using the COM interface, the Date-header is now added automatically.
  • The Message.HTMLBody property in the COM API is now writeable, which makes it possible to modify the HTML content of email using scripting, and to send email messages that contains a HMTL part.

Version 4.1 - Build 130 (2006-01-01)

  • The POP3 downloader could sometimes fail to download messages, if one of the messages on the external POP3 server had an invalid header structure.
  • hMailAdmin user interface has been updated with new icons and structure.
  • Message having a folded content-type were not displayed properly in SquirrelMail.
  • During installation, hMailServer now automatically sets service dependencies to any existing database server thay runs on the same machine.

Version 4.1 - Build 129 (2006-01-01)

  • When hMailServer delivered messages to other servers, sockets could be left behind with status CLOSE_WAIT.
  • When enabling the domain cache, hMailServer could sometimes hang.

Version 4.1 - Build 127 (2006-01-01)

  • Caching of domains can now be enabled to improve performance.
  • Previously, when hMailServer could not connect to the DNS server, it treated that as a fatal error. This had the effect that outgoing messages were bounced immediately if the DNS was not available. This has now been changed so that if the DNS isn't available, hMailServer will retry later.
  • It's now possible to specify a max message size. It's possible to specify both on server and domain level.
  • Better support for multihoming. In hMailAdmin, you can now specify whether hMailServer should listen on all available IP addresses or not. It's possible to set up a list of IP addresses the server should listen on.
  • Full change log