A community-feedback bug-fix release. It resolves the issues testers reported on the forum against 6.2.11/6.2.12 and hardens the SMTP, IMAP and SpamAssassin paths against malformed input found while investigating them. No database change (schema version 6005). Validated by the full regression suite: 1026 of 1026 passing, zero failures, against the rebuilt 6.2.13 service. SMTP Fixed a DATA stall when relaying from Postfix / Proxmox Mail Gateway. After 354 OK, send. the connection could hang until the sending MTA timed out ("timed out while sending end of data"), leaving a zero-byte spool file. The cause was a reverse-DNS (PTR) lookup performed on the network I/O thread while generating the Received header at the first flush: an internal relay whose address has no reverse zone stalled the whole session through DNS retries. The PTR lookup now runs on a worker thread started at connection time and header generation never waits on it. Direct sending was unaffected, which is why only relayed mail hung. Robustness. A parse exception can no longer leave a connection permanently wedged (it retires the read and disconnects); message data pipelined in the same segment as DATA is consumed correctly; a rejected BDAT/CHUNKING command drains or cleanly terminates its in-flight payload instead of desyncing the session (matters for Exchange, which uses BDAT whenever CHUNKING is advertised); the EHLO SIZE keyword no longer overflows for very large limits; and TCP_NODELAY is set on every connection. IMAP Fixed an authenticated-user crash and an out-of-bounds read. A malformed partial-fetch range (for example BODY[]<0.-1> or BODY[TEXT]<-5.10>) could drive a near-SIZE_MAX allocation (crash and a server-wide cache flush) or read heap memory from before the buffer and send it to the client. The octet range is now clamped in the byte math and normalized in the parser, with a couple of response-format defects fixed alongside. OnClientLogon now fires from every IMAP AUTHENTICATE mechanism (PLAIN, SCRAM-SHA-256, XOAUTH2/OAUTHBEARER), the same as LOGIN, POP3 and SMTP. SpamAssassin Fixed a hang, header corruption and message loss. A malformed or truncated spamd response could spin a core and hang the session indefinitely (a length that wrapped to a huge unsigned value drove an endless read loop with the timeout suppressed) and could write the raw SPAMD/… response header into the message. An empty response (Content-length: 0) could overwrite the message with a zero-byte file, and a mismatch between the anti-spam scan ceiling (256 MB) and the MIME parser limit (80 MB) could truncate very large messages. The client now parses the response header defensively, treats an early close as end-of-response, requires a positive length before replacing the message, and the scan ceiling is clamped to the parser limit. The original message is preserved on any SpamAssassin failure. A temp-file leak on the connection-test path was also fixed. Upgrade & installer DBUpdater now labels database versions 6002-6005 (they showed as "Unknown version") and prints the raw version rather than "Unknown" for any future gap. A failed or cancelled database create/upgrade now propagates a real exit code up to a visible installer error instead of reporting success against a broken schema, and the tools no longer show modal dialogs under /silent. Missing hm_settings rows self-heal on write instead of silently discarding the value; the 6001 upgrade insert is idempotent so a re-run is safe. The installer keeps a user-customized EventHandlers.vbs across uninstall/reinstall, and the Control Panel script editor no longer saves empty text over the file after a failed load (and keeps a .bak). The "Windows version too low" message now names the real requirement (Windows 10 1607 / Server 2016). Control Panel Diagnostics no longer reports every test as FAILED (it read two COM result properties by the wrong names and swallowed the error). Restarting the service from the UI is now elevation-aware (a single UAC prompt when the session is not elevated), runs off the UI thread, and reports the actual error instead of an opaque COM message. Build target The server core and minidump helper, and the OpenSSL build recipe, now target Windows 10 1607 (_WIN32_WINNT 0x0A00) consistently, matching the installer's minimum-OS gate and the bundled libpq 18. OpenSSL stays on the 4.0 line (supported into 2028); the plan is to adopt 4.2 LTS when it ships. Upgrading: in-place over any earlier hMailServer release; the database upgrades automatically (schema version 6005, unchanged from 6.2.x). Minimum OS is Windows 10 1607 / Server 2016, 64-bit.