File: //usr/share/man/man1/dovecot-lda.1
.TH "" "" "May 2026" "e5ac02a" "Dovecot"
dovecot-lda - Dovecot's local mail delivery agent
.SH "SYNOPSIS"
.P
\fBdovecot-lda\fR \[lB]\fB-ek\fR\[rB] \[lB]\fB-a\fR \fIaddress\fR\[rB] \[lB]\fB-c\fR \fIconfig_file\fR\[rB] \[lB]\fB-d\fR \fIusername\fR\[rB] \[lB]\fB-f\fR \fIenvelope_sender\fR\[rB] \[lB]\fB-m\fR \fImailbox\fR\[rB] \[lB]\fB-o\fR \fIsetting=value\fR\[rB] \[lB]\fB-p\fR \fIpath\fR\[rB] \[lB]\fB-r\fR \fIaddress\fR\[rB]
.SH "DESCRIPTION"
.P
The \fBdovecot-lda\fR is a local mail delivery agent which takes mail from an MTA and delivers it to a user's mailbox, while keeping Dovecot index files up to date.
.P
Main features of the \fBdovecot-lda\fR are:
.RS 0
.IP \(bu 4
Mailbox indexing during mail delivery, providing faster mailbox access later
.IP \(bu 4
Quota enforcing by the quota plugin
.IP \(bu 4
Sieve language support by the Pigeonhole sieve plugin
.RE 0
.SH "OPTIONS"
.P
Options accepted by \fBdovecot-lda\fR:
.P
\fB-a\fR \fIaddress\fR
.RS 0
.RS 4
.P
Destination address (e.g. user+ext@domain). If not specified, default is based on the \fBlda_original_recipient_header\fR setting setting.
.RE 0
.RE 0
.P
\fB-c\fR \fIconfig_file\fR
.RS 0
.RS 4
.P
Alternative configuration file path.
.RE 0
.RE 0
.P
\fB-d\fR \fIusername\fR
.RS 0
.RS 4
.P
Destination \fIusername\fR. If given, the user information is looked up from userdb. Typically used with virtual users, but not necessarily with system users.
.RE 0
.RE 0
.P
\fB-e\fR
.RS 0
.RS 4
.P
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.
.RE 0
.RE 0
.P
\fB-f\fR \fIenvelope_sender\fR
.RS 0
.RS 4
.P
Envelope sender address. If not specified and message data begins with a valid mbox-style \fB"From "\fR line, the address is taken from it.
.RE 0
.RE 0
.P
\fB-k\fR
.RS 0
.RS 4
.P
Don't clear all environment at startup.
.RE 0
.RE 0
.P
\fB-m\fR \fImailbox\fR
.RS 0
.RS 4
.P
Destination mailbox (default is \fBINBOX\fR). If the mailbox doesn't exist, it will not be created (unless \fBlda_mailbox_autocreate\fR setting). If a message couldn't be saved to the \fImailbox\fR for any reason, it's delivered to \fBINBOX\fR instead.
.RS 4
.IP \(bu 4
If Sieve plugin is used, this mailbox is used as the \fBkeep\fR action's mailbox. It's also used if there is no Sieve script or if the script fails for some reason.
.IP \(bu 4
Deliveries to namespace prefix will result in saving the mail to INBOX instead. For example if you have \fBMail/\fR namespace, this allows you to specify \fBdovecot-lda -m Mail/$mailbox\fR where mail is stored to \fBMail/$mailbox\fR or to INBOX if \fB$mailbox\fR is empty.
.IP \(bu 4
The mailbox name is specified the same as it's visible in IMAP client. For example if you've a Maildir with \fB.box.sub/\fR directory, your namespace configuration is \fBnamespace_prefix\fR setting and \fBnamespace_separator\fR setting, the correct way to deliver mail there is to use \fB-m INBOX/box/sub\fR
.RE 0
.RE 0
.RE 0
.P
\fB-o\fR \fIsetting\fR\fB=\fR\fIvalue\fR
.RS 0
.RS 4
.P
Overrides the configuration \fIsetting\fR from \fI/etc/dovecot/dovecot.conf\fR and from the userdb with the given \fIvalue\fR. In order to override multiple settings, the \fB-o\fR option may be specified multiple times.
.RE 0
.RE 0
.P
\fB-p\fR \fIpath\fR
.RS 0
.RS 4
.P
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.
.RE 0
.RE 0
.P
\fB-r\fR \fIaddress\fR
.RS 0
.RS 4
.P
Final envelope recipient address. Defaults to \fB-a\fR address, but may differ if, e.g., aliases are used or when dropping the \fB+detail\fR part.
.RE 0
.RE 0
.SH "EXIT STATUS"
.P
\fBdovecot-lda\fR will exit with one of the following values:
.P
\fB0\fR
.RS 0
.RS 4
.P
Delivery was successful. (EX_OK)
.RE 0
.RE 0
.P
\fB64\fR
.RS 0
.RS 4
.P
Invalid parameter given. (EX_USAGE)
.RE 0
.RE 0
.P
\fB67\fR
.RS 0
.RS 4
.P
Recipient user not known. (EX_NOUSER)
.RE 0
.RE 0
.P
\fB77\fR
.RS 0
.RS 4
.P
\fB-e\fR option was used and mail was rejected. Typically this happens when user is over quota and \fBquota_full_tempfail = no\fR is configured. (EX_NOPERM)
.RE 0
.RE 0
.P
\fB75\fR
.RS 0
.RS 4
.P
A temporary failure. This is returned for almost all failures. See the log file for details. (EX_TEMPFAIL)
.RE 0
.RE 0
.SH "FILES"
.P
\fI/etc/dovecot/dovecot.conf\fR
.RS 0
.RS 4
.P
Dovecot's main configuration file.
.RE 0
.RE 0
.P
\fI/etc/dovecot/conf.d/10-mail.conf\fR
.RS 0
.RS 4
.P
Mailbox locations and namespaces.
.RE 0
.RE 0
.P
\fI/etc/dovecot/conf.d/15-lda.conf\fR
.RS 0
.RS 4
.P
LDA specific settings.
.RE 0
.RE 0
.P
\fI/etc/dovecot/conf.d/90-plugin.conf\fR
.RS 0
.RS 4
.P
Plugin specific settings.
.RE 0
.RE 0
.P
\fI/etc/dovecot/conf.d/90-quota.conf\fR
.RS 0
.RS 4
.P
Quota configuration.
.RE 0
.RE 0
.SH "REPORTING BUGS"
.P
Report bugs, including \fIdoveconf -n\fR output, to the Dovecot Mailing List \fI\(ladovecot@dovecot.org\(ra\fR. Information about reporting bugs is available at: \fI\(lahttps://dovecot.org/bugreport.html\(ra\fR
.SH "SEE ALSO"
.P
doveadm(1)
.P
Related MTA specific documentation:
.RS 0
.IP \(bu 4
Postfix:
.RS 4
.IP \(bu 4
\fBpostconf\fR(5), \fBtransport\fR(5), \fBpipe\fR(8)
.RE 0
.IP \(bu 4
Exim:
.RS 4
.IP \(bu 4
\fI\(lahttps://exim.org/exim-html-current/doc/html/spec_html/ch16.html\(ra\fR
.IP \(bu 4
\fI\(lahttps://exim.org/exim-html-current/doc/html/spec_html/ch24.html\(ra\fR
.IP \(bu 4
\fI\(lahttps://exim.org/exim-html-current/doc/html/spec_html/ch29.html\(ra\fR
.RE 0
.RE 0