<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[hMailServer 6.2.3: Sieve and ManageSieve filtering]]></title><description><![CDATA[<p dir="auto">6.2.3 is the first server-focused release since 6.2.2, which shipped Control Panel changes against an unchanged server. The headline is a complete Sieve filtering subsystem (RFC 5228) with an optional ManageSieve service (RFC 5804), running alongside the existing proprietary rules engine. Every new behaviour is additive and default-off, so an existing installation upgraded with no functional change until the new settings were turned on.</p>
<p dir="auto"><strong>What the upgrade involved</strong></p>
<p dir="auto">The installer no longer ships the classic Administrator. The .NET 8 Control Panel is the sole bundled GUI and needs the .NET 8 Desktop Runtime, which the installer carries and installs silently when missing. DBSetup, DBUpdater and the Data Directory Synchronizer are retained.</p>
<p dir="auto"><strong>Sieve and ManageSieve</strong></p>
<ul>
<li>RFC 5228 parser covering if/elsif/else/stop, the core tests (header, address, exists, size, allof, anyof, not, with <code>:is</code>/<code>:contains</code>/<code>:matches</code>), address parts, the default and <code>i;octet</code> comparators, and keep/fileinto/discard/redirect plus implicit keep.</li>
<li>Evaluated during local delivery. An account with no script has zero overhead. An unparseable script is logged and falls through to keep rather than breaking delivery.</li>
<li>Scripts stored per account under <code>{DataDirectory}\Sieve\{domain}\{localpart}\</code> and exposed as <code>Account.SieveScript</code>, <code>Utilities.CheckSieveSyntax</code> and <code>Utilities.EvaluateSieveScript</code>. The account dialog gained a Sieve editor tab.</li>
<li>ManageSieve listener on <code>[Settings] ManageSieveServerPort</code>, disabled by default, with SASL PLAIN against the normal account database.</li>
</ul>
<p dir="auto"><strong>SMTP</strong></p>
<ul>
<li>BATV (prvs) backscatter protection, wire-only so SPF and DKIM stay aligned. Off by default via <code>BATVEnabled</code> / <code>BATVSecret</code>.</li>
<li>CHUNKING / BDAT (RFC 3030). DATA after BDAT is rejected 503, a non-numeric chunk size 501. The existing DATA path is untouched.</li>
</ul>
<p dir="auto"><strong>Operability</strong></p>
<ul>
<li><code>/livez</code>, <code>/readyz</code> and <code>/healthz</code> on the metrics listener, plus Prometheus series for pool state, query latency, TLS handshakes, auth success and failure, delivery outcomes and command latency.</li>
<li>New keys, all defaulting to 0: <code>SlowQueryLogMilliseconds</code>, <code>ShutdownDrainSeconds</code>, <code>MessageStoreFsync</code>, <code>MessageStoreConsistencyCheck</code>, <code>LogDeleteDays</code>.</li>
<li>The Received header now carries an RFC 5321 id clause equal to the numeric TCP session id, and that id prefixes every line of the session log.</li>
</ul>
<p dir="auto"><a href="https://www.progressiverobot.com/hmailserver-downloads/" rel="nofollow ugc">Full release notes, checksums and signatures</a></p>
]]></description><link>https://www.hmailserver.co.uk/topic/28196/hmailserver-6.2.3-sieve-and-managesieve-filtering</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 04:32:13 GMT</lastBuildDate><atom:link href="https://www.hmailserver.co.uk/topic/28196.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 15 Jun 2026 04:23:49 GMT</pubDate><ttl>60</ttl></channel></rss>