From 915900d0c511c830cafed49196d77b97f0b3b0ea Mon Sep 17 00:00:00 2001 From: Maurus Decimus <11444311+mdecimus@users.noreply.github.com> Date: Tue, 19 May 2026 17:20:03 +0200 Subject: [PATCH] Allow internal TLDs in e-mail addresses --- CHANGELOG.md | 7 +++++-- crates/utils/src/lib.rs | 4 +--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f1d264c..9e059703 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -75,10 +75,13 @@ If you are upgrading from v0.16.x, replace the binary (or run `docker pull`). If ## Fixed - DAV: `acl-principal-prop-set` REPORT enforced the wrong privilege. - JMAP: `Thread/get` did not filter by per-mailbox ACLs on shared accounts. -- RFC2136 TSIG: regression related to multiplexer. - IMAP: `UID FETCH N:*` could miss messages moved into a SELECTed mailbox by another connection. -- DNS records: Skip `v=spf1 a -all` records for apex domains. +- DNS updater: + - Skip `v=spf1 a -all` records for apex domains. + - RFC2136 TSIG: regression related to multiplexer. + - Rout53: Chunk `TXT` records when they exceed 255 characters. - ACME: Update `defaultCertificateId` when renewing a certificate that is currently set as default. +- Allow internal TLDs in e-mail addresses. ## [0.16.5] - 2026-05-11 diff --git a/crates/utils/src/lib.rs b/crates/utils/src/lib.rs index 838aa0b6..82b627d2 100644 --- a/crates/utils/src/lib.rs +++ b/crates/utils/src/lib.rs @@ -275,9 +275,7 @@ pub fn sanitize_email(email: &str) -> Option { last_ch = ch; } - if last_ch.is_alphanumeric() - && psl::domain(result.as_bytes()).is_some_and(|d| d.suffix().typ().is_some()) - { + if last_ch.is_alphanumeric() && is_valid_domain(&result) { Some(result) } else { None