Files
bongo/docs/external-accounts.md
T
Mario Fetka c874d0f35f
Debian Trixie package bundle / packages (push) Successful in 22m4s
Move external accounts into user Stores
2026-07-28 18:25:47 +02:00

2.9 KiB

External mail accounts

External IMAP and POP3 account definitions belong to the owning user's Bongo Store and are accessed through NMAP. This includes encrypted credentials, destination and deletion policy, linked sending identities, remote UID state, and duplicate-detection state. The _system Store contains only a credential-free index of the account owner, account ID, and next collection time.

Credential values are encrypted with AES-256-GCM. The per-installation master key is stored separately as external-accounts.key in Bongo's DBF directory and is restricted to the Bongo service account.

Back up all user Stores, the _system Store, and the master key together. A Store backup without the matching key cannot decrypt external-account credentials. Do not copy the key to another installation unless all associated Store data moves with it.

The collector verifies TLS certificates and host names by default. Provider passwords are never included in URLs or log messages. Bongo 0.7 has no standalone external-account database and no migration path for one because that development format was never released.

For an internal provider signed by a private certificate authority, set ca_file in /etc/bongo/config.d/collector to the absolute path of a PEM CA bundle and run bongo-admin config sync. Certificate and host-name verification remain enabled. Prefer installing a site-wide CA through the operating system trust store when possible. BONGO_COLLECTOR_CAINFO remains available as a test-only environment override.

Remote deletion policies are never, after_import, and after_days. Messages are recorded as imported only after Bongo's durable Queue accepts and commits the complete message. The normal antivirus, antispam, Sieve/rules, quota, and Store delivery pipeline owns it from that point onward. A failed remote deletion does not cause the message to be delivered again; the collector retries the deletion during a later poll.

maximum_pending_messages and maximum_pending_messages_per_user in the suffixless collector configuration bound the number of externally collected messages that may be waiting anywhere in Bongo's Queue. Their defaults are 10000 globally and 1000 per local user. The per-user value must not exceed the global value. The collector checks both limits before fetching each previously unseen message; when either limit is reached, it records backpressure on the external account and leaves that message at the provider. Successfully delivered Queue entries no longer count toward either limit, so collection resumes on a later poll after the user or administrator has freed the bottleneck.

The authenticated Queue command QCOUNT COLLECTED [user] supplies this pending count without treating unrelated SMTP or LMTP traffic as collector load. Administrators can inspect the same values with:

bongo-queuetool collected-count
bongo-queuetool collected-count username