Skip to content

Upgrade SMTP client to use the (new) settings infrastructure - #1701

Open
sirainen wants to merge 11 commits into
dovecot:mainfrom
sirainen:smtp-client-settings-auto
Open

sirainen wants to merge 11 commits into
dovecot:mainfrom
sirainen:smtp-client-settings-auto

Conversation

@sirainen

Copy link
Copy Markdown
Contributor

DOV-9262

cmouse and others added 11 commits October 20, 2026 12:54
The pattern matched every word of 10 or more characters, which effectively
disabled spell checking for long words: the check-spelling report listed
dozens of allow.txt entries as no longer needed.
- imapc and pop3c are plain named filters, not named list filters, and the
  [[setting,client_auth]] links were missing a bracket.
- Describe how the mechanism is selected: the first configured mechanism that
  the server advertises is used and there is no fallback after an
  authentication failure. Without any configured mechanism PLAIN or the basic
  login commands are used, and if the server doesn't advertise PLAIN, the
  first server-advertised password mechanism. Authentication is never
  optionally skipped: imapc and pop3c fail with "Authentication not
  configured".
- Document that an empty client_auth_authid falls back to client_auth_authzid,
  the %{owner_user} default inside imapc and pop3c, and the changed pop3c
  default.
- Mention the implicit SCRAM channel binding upgrade.
- Drop the submission_relay and mail_submit examples from the client_auth
  entry. They exist only with the SMTP client settings changes and are
  documented with their own filters.
- Add the added tags.
They weren't removed. settings-history renames them to the client_auth_*
settings inside the imapc { } and pop3c { } filters: the old names still work
with an older dovecot_config_version and in -o and userdb overrides, and
doveconf writes the new names. The new names aren't global either, they are
filter-scoped.

Also document the pop3c_ssl_verify -> pop3c/ssl_client_require_valid_cert
rename, which was missing, and that imapc_sasl_mechanisms still works by being
translated into client_auth filters.
These are the generic settings of lib-smtp's SMTP and LMTP client. They are
used inside the submission_relay, mail_submit and lmtp_proxy filters.
…y filters

The SMTP client settings changes move the outgoing SMTP/LMTP connection
settings into filters that hold the generic smtp_client_*/lmtp_client_*,
client_auth_* and ssl_client_* settings:

- submission_relay_* -> submission_relay { smtp_client_* / client_auth_* /
  ssl_client_require_valid_cert }. submission_relay_max_idle_time never did
  anything and is deprecated.
- submission_host/submission_ssl -> mail_submit { smtp_client_host /
  smtp_client_port / smtp_client_ssl }, submission_timeout ->
  mail_submit_timeout, and sendmail_path -> mail_submit { execute sendmail
  { } }. The host:port syntax of submission_host is gone.
- lmtp_proxy (boolean) -> lmtp_proxy_enabled, since lmtp_proxy { } is now the
  filter for the lmtp_client_* settings, and lmtp_proxy_rawlog_dir ->
  lmtp_proxy { lmtp_client_rawlog_dir }. A new lmtp_local { } filter scopes
  settings to local deliveries.
The four client_auth_* setting descriptions can't carry the whole picture:
which clients use them, how the mechanism is selected, how the SCRAM
channel binding upgrade works and how the old per-client credential
settings map to the new ones. Describe all of that in one place.
Also point the proxy_mech passdb field to client_auth_mechanism for the list
of mechanisms, and explain in the passdb imap page that the password and the
username are filled in automatically.
…tings

submission_host and sendmail_path are now configured inside mail_submit { },
lmtp_proxy is lmtp_proxy_enabled, and the rawlog settings moved inside the
lmtp_proxy and submission_relay filters. Add a relay example with
authentication to the submission page.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants