.TH qmail-smtpd 8 .SH NAME qmail-smtpd \- receive mail via SMTP .SH SYNOPSIS .B qmail-smtpd .SH DESCRIPTION .B qmail-smtpd receives mail messages via the Simple Mail Transfer Protocol (SMTP) and invokes .B qmail-queue to deposit them into the outgoing queue. .B qmail-smtpd must be supplied several environment variables; see .BR tcp-environ(5) . .B qmail-smtpd is responsible for counting hops. It rejects any message with 100 or more .B Received or .B Delivered-To header fields. .B qmail-smtpd supports ESMTP, including the 8BITMIME and PIPELINING options. .SH TRANSPARENCY .B qmail-smtpd converts the SMTP newline convention into the UNIX newline convention by converting CR LF into LF. It returns a temporary error and drops the connection on bare LFs; see .BR http://pobox.com/~djb/docs/smtplf.html . .B qmail-smtpd accepts messages that contain long lines or non-ASCII characters, even though such messages violate the SMTP protocol. .SH "CONTROL FILES" .TP 5 .I addrcheck.cdb A database of acceptable mailboxes. If present, this is used to report erroneous RCPT TO commands, which can reduce the amount of junk mail accepted. It contains an encoding of the virtual domains map .RB ( \c .BI V domain maps to .IR prefix ), the local domains .RB ( \c .BI @ domain maps to an empty string), and the available local parts .RB ( \c .BI L mailbox maps to .B + if the address is valid or .B \- if not). It's best made using .BR qmail-valid-addresses (8). .TP 5 .I addrcheck-delay Delay in seconds before reporting bad mailbox names after the .I addrcheck-slow limit is reached. The default is 2. .TP 5 .I addrcheck-limit Number of bad mailbox names to tolerate before dropping the connection. Zero means an infinite number. The default is 50. .TP 5 .I addrcheck-slow Number of bad mailbox names to tolerate before imposing delays. The default is 5. .TP 5 .I badmailfrom Unacceptable envelope sender addresses. .B qmail-smtpd will reject every recipient address for a message if the envelope sender address is listed in .IR badmailfrom . A line in .I badmailfrom may be of the form .BR @\fIhost , meaning every address at .IR host . .TP 5 .I databytes Maximum number of bytes allowed in a message, or 0 for no limit. Default: 0. If a message exceeds this limit, .B qmail-smtpd returns a permanent error code to the client; in contrast, if the disk is full or .B qmail-smtpd hits a resource limit, .B qmail-smtpd returns a temporary error code. .I databytes counts bytes as stored on disk, not as transmitted through the network. It does not count the .B qmail-smtpd Received line, the .B qmail-queue Received line, or the envelope. If the environment variable .B DATABYTES is set, it overrides .IR databytes . .TP 5 .I localiphost Replacement host name for local IP addresses. Default: .IR me , if that is supplied. .B qmail-smtpd is responsible for recognizing dotted-decimal addresses for the current host. When it sees a recipient address of the form .IR box@[d.d.d.d] , where .I d.d.d.d is a local IP address, it replaces .IR [d.d.d.d] with .IR localiphost . This is done before .IR rcpthosts . .TP 5 .I morercpthosts Extra allowed RCPT domains. If .I rcpthosts and .I morercpthosts both exist, .I morercpthosts is effectively appended to .IR rcpthosts . You must run .B qmail-newmrh whenever .I morercpthosts changes. Rule of thumb for large sites: Put your 50 most commonly used domains into .IR rcpthosts , and the rest into .IR morercpthosts . .TP 5 .I rcpthosts Allowed RCPT domains. If .I rcpthosts is supplied, .B qmail-smtpd will reject any envelope recipient address with a domain not listed in .I rcpthosts unless the sending host is a designated relay client (see the description of the .I relayhosts file beow). .I rcpthosts may include wildcards: .EX heaven.af.mil .heaven.af.mil .EE Envelope recipient addresses without @ signs are always allowed through. .TP 5 .I relayhosts Allowed relay clients. Each line is a host-suffix pair, separated by a colon. If the client's hostname matches one of the hostnames in the file, that client is permitted to send mail to any host (i.e., to use us as a relay), and the corresponding suffix is appended to all recipient addresses generated by the client. .I relayhosts may include wildcards: .EX heaven.af.mil: .heaven.af.mil: hell.irs.gov:.irs.virtdomain .EE For historical reasons, the .B RELAYCLIENT environment variable overrides this table. If .B RELAYCLIENT is set, it has the same effect as there being a matching entry in the .I relayhosts file, using the value of .B RELAYCLIENT as the suffix. .TP 5 .I smtpgreeting SMTP greeting message. Default: .IR me , if that is supplied; otherwise .B qmail-smtpd will refuse to run. The first word of .I smtpgreeting should be the current host's name. .TP 5 .I timeoutsmtpd Number of seconds .B qmail-smtpd will wait for each new buffer of data from the remote SMTP client. Default: 1200. .SH "SEE ALSO" tcp-env(1), tcp-environ(5), qmail-control(5), qmail-inject(8), qmail-newmrh(8), qmail-queue(8), qmail-remote(8)