ReviewOS

mail-os/mail

Make Sieve the canonical forwarding format

#6
Closed chris opened this 9 days ago ·
9 days ago

Goal

Use the interoperable Sieve redirect/keep model for forwarding while preserving existing configuration compatibility.

Scope

  • Compile forwards.json rules to deterministic Sieve scripts.
  • Support full email addresses canonically and bare local-parts as legacy input.
  • Explicitly define Junk forwarding policy.
  • Add loop prevention and redirect limits per RFC 5228.
  • Add validate/compile/test CLI commands.

Acceptance criteria

  • Existing role forwards compile without behavior changes.
  • keep + redirect semantics are explicit.
  • Junk policy is configurable and documented.
  • Loop and multi-hop tests pass.
  • Live socials@ and hi@ delivery probes pass.
9 days ago

Implemented in commit 9f7fb90 and tracked in draft PR #8.

config/email.ts remains the source of truth; Buddy writes the compatibility JSON manifest and atomically compiles canonical RFC 5228 Sieve. Live end-to-end probes for socials@stacksjs.com and hi@stacksjs.com both delivered to chris@stacksjs.com, retained their source mailbox copy, and were cleaned up afterward.

Sign in to comment on this issue.