DOVECOT-LDA(1)

πŸ’– dovecot-lda β€” Dovecot's local mail delivery agent πŸ’–

okay bestie, gather round, because this is the manual page for dovecot-lda, aka Dovecot's local mail delivery agent. It's the little icon that takes mail handed to it by an MTA and slides it into a user's mailbox β€” all while keeping the Dovecot index files up to date. no cap. πŸ’…


✨ SYNOPSIS ✨

dovecot-lda [-ek] [-a address] [-c config_file] [-d username] [-f
envelope_sender] [-m mailbox] [-o setting=value] [-p path] [-r address]

🌸 DESCRIPTION 🌸

dovecot-lda is a local mail delivery agent β€” it grabs mail from an MTA and delivers it straight into a user's mailbox, and the whole time it's keeping those Dovecot index files up to date. lowkey doing the most, but in a good way. πŸ¦‹

Main features of the dovecot-lda are:

  • Mailbox indexing during mail delivery, providing faster mailbox access later ⚑
  • Quota enforcing by the quota plugin
  • Sieve language support by the Pigeonhole sieve plugin 🧚

πŸ‘‘ OPTIONS πŸ‘‘

Options accepted by dovecot-lda:

  • -a address β€” Destination address (e.g. user+ext@domain). If you don't specify it, the default is based on the lda_original_recipient_header setting setting. (yes, "setting setting", we said what we said, that's what the page says 😭)
  • -c config_file β€” Alternative configuration file path. πŸ—‚οΈ
  • -d username β€” Destination username. If you give it, the user information is looked up from userdb. Typically used with virtual users, but not necessarily with system users. fr fr.
  • -e β€” If mail gets rejected, write the rejection reason to stderr and exit with status 77 (EX_NOPERM). The default is to send a rejection mail ourself. πŸ’€
  • -f envelope_sender β€” Envelope sender address. If not specified and the message data begins with a valid mbox-style "From " line, the address is taken from it.
  • -k β€” Don't clear all environment at startup. 🫢
  • -m mailbox β€” Destination mailbox (default is INBOX). If the mailbox doesn't exist, it will not be created (unless lda_mailbox_autocreate setting). If a message couldn't be saved to the mailbox for any reason, it's delivered to INBOX instead. πŸ‘‘
    • If Sieve plugin is used, this mailbox is used as the keep action's mailbox. It's also used if there is no Sieve script or if the script fails for some reason.
    • Deliveries to namespace prefix will result in saving the mail to INBOX instead. For example if you have Mail/ namespace, this allows you to specify dovecot-lda -m Mail/$mailbox where mail is stored to Mail/$mailbox or to INBOX if $mailbox is empty.
    • The mailbox name is specified the same as it's visible in IMAP client. For example if you've a Maildir with .box.sub/ directory, your namespace configuration is namespace_prefix setting and namespace_separator setting, the correct way to deliver mail there is to use -m INBOX/box/sub
  • -o setting=value β€” Overrides the configuration setting from /etc/dovecot/dovecot.conf and from the userdb with the given value. In order to override multiple settings, the -o option may be specified multiple times. stack 'em up bestie πŸ“
  • -p path β€” Path to the mail to be delivered instead of reading from stdin. If using maildir the file is hard linked to the destination if possible. This allows a single mail to be delivered to multiple users using hard links, but currently it also prevents deliver from updating cache file so it shouldn't be used unless really necessary. ⚠️
  • -r address β€” Final envelope recipient address. Defaults to -a address, but may differ if, e.g., aliases are used or when dropping the +detail part.

🌈 EXIT STATUS 🌈

dovecot-lda will exit with one of the following values:

  1. 0 β€” Delivery was successful. (EX_OK) πŸŽ‰ slay
  2. 64 β€” Invalid parameter given. (EX_USAGE)
  3. 67 β€” Recipient user not known. (EX_NOUSER)
  4. 77 β€” -e option was used and mail was rejected. Typically this happens when user is over quota and quota_full_tempfail = no is configured. (EX_NOPERM)
  5. 75 β€” A temporary failure. This is returned for almost all failures. See the log file for details. (EX_TEMPFAIL) 😭

πŸŽ€ FILES πŸŽ€

  • /etc/dovecot/dovecot.conf β€” Dovecot's main configuration file.
  • /etc/dovecot/conf.d/10-mail.conf β€” Mailbox locations and namespaces.
  • /etc/dovecot/conf.d/15-lda.conf β€” LDA specific settings.
  • /etc/dovecot/conf.d/90-plugin.conf β€” Plugin specific settings.
  • /etc/dovecot/conf.d/90-quota.conf β€” Quota configuration.

πŸ™ˆ REPORTING BUGS πŸ™ˆ

Report bugs, including doveconf -n output, to the Dovecot Mailing List ⟨dovecot@dovecot.org⟩. Information about reporting bugs is available at: ⟨https://dovecot.org/bugreport.html⟩

bestie do NOT forget the doveconf -n output, they will literally ask for it πŸ’€

πŸ¦‹ SEE ALSO πŸ¦‹

doveadm(1)

Related MTA specific documentation:


and that's the whole page, periodt. πŸ’…βœ¨ this lil cutie is from Dovecot, revision f979264, dated April 2026 β€” so you know it's fresh. go deliver some mail, main character. πŸ“¬πŸ‘‘πŸ’–

πŸ“¦ where this page comes from