feat(mail): add governed POP3 legacy import
Module Package Release / publish-packages (push) Successful in 11s
Module Package Release / publish-packages (push) Successful in 11s
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
**Repository type:** module (domain).
|
||||
<!-- govoplan-repository-type:end -->
|
||||
|
||||
GovOPlaN Mail is the mail transport module. It owns reusable SMTP/IMAP profile management, mail profile policy enforcement, mock mail infrastructure, and the mail WebUI package.
|
||||
GovOPlaN Mail is the mail transport module. It owns reusable SMTP/IMAP profile management, an explicitly enabled legacy POP3 import path, mail profile policy enforcement, mock mail infrastructure, and the mail WebUI package.
|
||||
|
||||
## Ownership
|
||||
|
||||
@@ -12,17 +12,18 @@ This repository owns:
|
||||
|
||||
- backend module manifest `mail`
|
||||
- mail permissions such as `mail:profile:read`, `mail:profile:write_own`, `mail:profile:write`, `mail:profile:use`, `mail:profile:test`, and `mail:mailbox:read`
|
||||
- SMTP/IMAP profile models, policy checks, encrypted credential storage, and profile resolution
|
||||
- SMTP/IMAP profile models, dedicated legacy POP3 sources, policy checks, encrypted credential storage, and profile resolution
|
||||
- SMTP send and IMAP append adapters, including mock transports for development
|
||||
- development mock mailbox endpoints used by test-send flows
|
||||
- WebUI package `@govoplan/mail-webui` with profile management, policy management, and read-only mailbox components
|
||||
- WebUI package `@govoplan/mail-webui` with profile management, policy management, read-only mailbox components, and governed POP3 import
|
||||
|
||||
Core owns auth, tenants, RBAC evaluation, database/session primitives, secret helpers, CSRF/API helpers, and shell layout.
|
||||
|
||||
Mail publishes `privacy.dsar.mail` for Core's governed data-subject-request
|
||||
workflow. It isolates matching mailbox header parties and returns bounded index,
|
||||
personal-profile, delivery, reconciliation, and bounce metadata. SMTP/IMAP
|
||||
configuration and credentials, encrypted messages and envelopes, folder/UID
|
||||
personal-profile, delivery, reconciliation, bounce, and imported-message metadata. SMTP/IMAP/POP3
|
||||
configuration and credentials, encrypted messages and envelopes, source UIDL
|
||||
and folder/UID
|
||||
locators, worker and idempotency state, diagnostics, and opaque evidence are
|
||||
excluded. Delivery and bounce outcomes remain retained evidence; mailbox and
|
||||
profile changes require coordinated Mail and external-provider review, so the
|
||||
@@ -143,10 +144,13 @@ Development mailbox routes are registered by the mail module only when the
|
||||
core runtime is in `dev` mode and `dev_mailbox_api_enabled` is enabled. Core
|
||||
does not contribute these routes directly.
|
||||
|
||||
POP3 and JMAP are deferred. The protocol decision is documented in
|
||||
[docs/MAIL_PROTOCOL_ROADMAP.md](docs/MAIL_PROTOCOL_ROADMAP.md): stabilize
|
||||
SMTP/IMAP first, prefer JMAP for modern mailbox sync/search later, and add POP3
|
||||
only for explicit legacy-download requirements. The same roadmap records the
|
||||
JMAP remains deferred. The explicitly enabled POP3 slice is limited to bounded,
|
||||
encrypted, duplicate-safe legacy import; preview and ordinary import are
|
||||
non-destructive, while source deletion requires separate endpoint policy,
|
||||
permission, confirmation, and audit evidence. The protocol decision is
|
||||
documented in [docs/MAIL_PROTOCOL_ROADMAP.md](docs/MAIL_PROTOCOL_ROADMAP.md):
|
||||
prefer JMAP for future modern mailbox sync/search and keep POP3 out of normal
|
||||
mailbox browsing. The same roadmap records the
|
||||
approved S/MIME-first, OpenPGP-additional message-protection profile and its
|
||||
no-silent-downgrade requirement.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user