Files
2026-07-22 17:58:11 +02:00

2.8 KiB

POP3 and POP3S

Bongo keeps POP3 for simple and older mail clients while using the same accounts, authentication policy, message files, flags, and per-user mail quota as IMAP and Webmail. POP3 is an access protocol only: SMTP remains responsible for message submission.

Listeners and TLS

The suffixless pop3 configuration document controls the two listeners:

{
  "version": 1,
  "port": 110,
  "port_ssl": 995,
  "allow_legacy_tls": false,
  "proxy_protocol_enabled": false,
  "proxy_protocol_networks": []
}

Port 110 offers STLS before authentication. Port 995 uses implicit TLS. Password and GNU GSASL mechanisms are made available only on a protected connection under the secure default. Enabling allow_legacy_tls is an explicit compatibility exception for obsolete clients; current TLS is still negotiated when both peers support it.

PROXY protocol must remain disabled unless a trusted TCP proxy is actually in front of POP3. Enabling it requires at least one exact trusted IPv4 address or CIDR in proxy_protocol_networks; ordinary clients must never be included.

Commands and capabilities

The server implements the normal authorization and transaction commands: USER, PASS, AUTH, APOP, STAT, LIST, UIDL, RETR, TOP, DELE, RSET, NOOP, CAPA, UTF8, STLS, and QUIT. Multiline replies apply POP3 dot transparency and canonical CRLF termination even when a stored message was read in chunks.

CAPA reports the implemented TOP, RESP-CODES, AUTH-RESP-CODE, PIPELINING, EXPIRE NEVER, UIDL, and UTF8 features. STLS, USER, and the SASL mechanism list are state-dependent. After UTF8 succeeds, STLS is no longer offered and is rejected, preventing already-buffered cleartext UTF-8 session state from crossing the TLS boundary.

Deletion and quota semantics

DELE marks a message only for the current POP3 transaction. RSET or a disconnect leaves it in the mailbox; a successful QUIT commits the marked deletions. Storage is therefore released only after that commit. POP3 has no standard quota query command, but delivery to the same account is still limited by the shared Store quota described in quotas.md.

Use IMAP or Webmail when a client needs server-side folders, flags, searching, or concurrent mailbox changes. POP3 clients which delete downloaded mail should be tested carefully before enabling that option for a large account.

Operational checks

After changing the listener or TLS policy, validate and synchronize the configuration, restart the agent through bongo-manager, and test both the clear listener's STLS transition and a direct POP3S login. Also verify STAT, LIST, RETR, TOP, UIDL, deletion rollback on disconnect, and deletion commit on QUIT. The release gate is recorded under POP-01 through POP-06 in release-testing-0.7.md.