[Feature] Add low-priority POP3 legacy download support #8

Closed
opened 2026-07-09 12:47:29 +02:00 by zemion · 2 comments
Owner

Objective

Evaluate and optionally implement POP3 support as low-priority legacy mailbox download support.

POP3 is not a general mailbox browsing protocol for GovOPlaN. It should be added only for deployments that must download mail from legacy servers without IMAP or JMAP.

Scope

  • Owning repository: govoplan-mail.
  • Priority: low.
  • First slice, if implemented: explicit download/import workflow from a POP3 mailbox into managed mail records or a review queue.
  • Out of scope: normal folder browsing, server-side search, multi-folder state, and replacing IMAP/JMAP mailbox UX.

Expected behavior

  • Keep POP3 disabled unless explicitly configured by an admin policy/profile.
  • Provide profile test diagnostics for connection, auth, TLS mode, and message count where available.
  • Support safe preview/list of downloadable messages without exposing credentials.
  • Download messages into a governed local representation with audit evidence.
  • Make deletion-from-server an explicit, separately governed option; default should be non-destructive.

Acceptance criteria

  • POP3 does not appear as a default or recommended mailbox option while IMAP/JMAP are available.
  • A POP3 profile can be tested and can download messages in a controlled workflow when explicitly enabled.
  • UI copy makes the legacy/non-folder semantics clear.
  • Tests cover TLS/auth failures, non-destructive download, optional delete behavior, duplicate prevention, audit evidence, and disabled-by-policy behavior.

Origin

Split out from the closed combined protocol placeholder govoplan-mail#4.

## Objective Evaluate and optionally implement POP3 support as low-priority legacy mailbox download support. POP3 is not a general mailbox browsing protocol for GovOPlaN. It should be added only for deployments that must download mail from legacy servers without IMAP or JMAP. ## Scope - Owning repository: `govoplan-mail`. - Priority: low. - First slice, if implemented: explicit download/import workflow from a POP3 mailbox into managed mail records or a review queue. - Out of scope: normal folder browsing, server-side search, multi-folder state, and replacing IMAP/JMAP mailbox UX. ## Expected behavior - Keep POP3 disabled unless explicitly configured by an admin policy/profile. - Provide profile test diagnostics for connection, auth, TLS mode, and message count where available. - Support safe preview/list of downloadable messages without exposing credentials. - Download messages into a governed local representation with audit evidence. - Make deletion-from-server an explicit, separately governed option; default should be non-destructive. ## Acceptance criteria - POP3 does not appear as a default or recommended mailbox option while IMAP/JMAP are available. - A POP3 profile can be tested and can download messages in a controlled workflow when explicitly enabled. - UI copy makes the legacy/non-folder semantics clear. - Tests cover TLS/auth failures, non-destructive download, optional delete behavior, duplicate prevention, audit evidence, and disabled-by-policy behavior. ## Origin Split out from the closed combined protocol placeholder `govoplan-mail#4`.
zemion added the area/apicodex/readymodule/mail
priority
p3
status
ready
type
feature
labels 2026-07-29 14:15:12 +02:00
Author
Owner

Starting the autonomous implementation. Scope: an explicitly enabled legacy POP3 endpoint/profile, safe connection diagnostics and message preview, governed non-destructive import with duplicate prevention and audit evidence, and separately controlled delete-after-import behavior. I will use protocol mocks for TLS/auth/error and provider-effect coverage; no live mailbox credentials are required.

Starting the autonomous implementation. Scope: an explicitly enabled legacy POP3 endpoint/profile, safe connection diagnostics and message preview, governed non-destructive import with duplicate prevention and audit evidence, and separately controlled delete-after-import behavior. I will use protocol mocks for TLS/auth/error and provider-effect coverage; no live mailbox credentials are required.
zemion added
status
in-progress
and removed
status
ready
labels 2026-08-22 04:19:07 +02:00
Author
Owner

Implemented, verified, released, and catalogued as v0.1.20.

Evidence:

  • Mail commit: 218fef11f1
  • Annotated release tag: v0.1.20 (peels to the Mail commit above)
  • Workspace release-catalog commit: 9fe7ad2cb4ca559d4b91207e96e4478e954a0b53
  • POP3 is disabled by default and explicitly positioned as legacy migration support, not the normal mailbox path.
  • Added TLS/STARTTLS/plain transport handling, sanitized connection/auth diagnostics, bounded message-count and preview operations, governed local import, stable-UIDL duplicate prevention, encrypted raw-message storage, and explicit separately-authorized provider deletion.
  • Preview/import are non-destructive by default. Provider deletion requires both mail:pop3:delete and endpoint policy; ambiguous QUIT results are retained as outcome_unknown evidence.
  • Added tenant/profile visibility boundaries, audit evidence, provider-state diagnostics, DSAR-safe metadata, migration coverage, administrator/user documentation, and a shared-pattern WebUI workflow.

Checks passed:

  • 150 Mail backend tests
  • Mail UI contract suite
  • manifest-shape, lint, compile, focused transport/API tests
  • complete workspace focused gate, including 59 WebUI module permutations and 8 browser conformance tests

No decision or manual verification is required to close this implementation issue. A staging smoke test against a deliberately provisioned legacy POP3 account is still a useful deployment check when credentials are available, but is not needed for implementation correctness because protocol behavior and failure modes are covered by controlled tests.

Implemented, verified, released, and catalogued as v0.1.20. Evidence: - Mail commit: 218fef11f1b9879bdd708c136f1967fde8289735 - Annotated release tag: v0.1.20 (peels to the Mail commit above) - Workspace release-catalog commit: 9fe7ad2cb4ca559d4b91207e96e4478e954a0b53 - POP3 is disabled by default and explicitly positioned as legacy migration support, not the normal mailbox path. - Added TLS/STARTTLS/plain transport handling, sanitized connection/auth diagnostics, bounded message-count and preview operations, governed local import, stable-UIDL duplicate prevention, encrypted raw-message storage, and explicit separately-authorized provider deletion. - Preview/import are non-destructive by default. Provider deletion requires both mail:pop3:delete and endpoint policy; ambiguous QUIT results are retained as outcome_unknown evidence. - Added tenant/profile visibility boundaries, audit evidence, provider-state diagnostics, DSAR-safe metadata, migration coverage, administrator/user documentation, and a shared-pattern WebUI workflow. Checks passed: - 150 Mail backend tests - Mail UI contract suite - manifest-shape, lint, compile, focused transport/API tests - complete workspace focused gate, including 59 WebUI module permutations and 8 browser conformance tests No decision or manual verification is required to close this implementation issue. A staging smoke test against a deliberately provisioned legacy POP3 account is still a useful deployment check when credentials are available, but is not needed for implementation correctness because protocol behavior and failure modes are covered by controlled tests.
zemion removed the
status
in-progress
codex/ready
labels 2026-08-22 05:16:59 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-mail#8