hMailServer changelog for 4.4

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)