info > smtp(8)

📛 NAME

smtp - Postfix SMTP+LMTP client

🚀 Quick Reference

Use CaseCommandDescription
📬 Deliver mail via SMTPsmtp [flags=DORX]Standard SMTP delivery to remote MX hosts
🔗 Deliver mail via LMTPsmtp [flags=DORX]LMTP delivery using unix:path or inet:host:port syntax
📑 Add Delivered‑To headerflags=DPrepend Delivered‑To: recipient (requires single‑recipient mode)
📑 Add X‑Original‑To headerflags=OPrepend X‑Original‑To: recipient (requires single‑recipient mode)
📬 Add Return‑Path headerflags=RPrepend Return‑Path: <sender>
✅ Mark delivery as finalflags=XDSN status changes from “relayed” to “delivered”

📋 SYNOPSIS

smtp [generic Postfix daemon options] [flags=DORX]

📖 DESCRIPTION

The Postfix SMTP+LMTP client implements the SMTP and LMTP mail delivery protocols. It processes message delivery requests from the queue manager. Each request specifies a queue file, a sender address, a domain or host to deliver to, and recipient information. This program expects to be run from the master(8) process manager.

The SMTP+LMTP client updates the queue file and marks recipients as finished, or it informs the queue manager that delivery should be tried again at a later time. Delivery status reports are sent to the bounce(8), defer(8) or trace(8) daemon as appropriate.

The SMTP+LMTP client looks up a list of mail exchanger addresses for the destination host, sorts the list by preference, and connects to each listed address until it finds a server that responds.

When a server is not reachable, or when mail delivery fails due to a recoverable error condition, the SMTP+LMTP client will try to deliver the mail to an alternate host.

After a successful mail transaction, a connection may be saved to the scache(8) connection cache server, so that it may be used by any SMTP+LMTP client for a subsequent transaction.

By default, connection caching is enabled temporarily for destinations that have a high volume of mail in the active queue. Connection caching can be enabled permanently for specific destinations.

🌐 SMTP DESTINATION SYNTAX

The Postfix SMTP+LMTP client supports multiple destinations separated by comma or whitespace (Postfix 3.5 and later). SMTP destinations have the following form:

domainname
domainname:port
[hostname]
[hostname]:port
[address]
[address]:port

🔗 LMTP DESTINATION SYNTAX

The Postfix SMTP+LMTP client supports multiple destinations separated by comma or whitespace (Postfix 3.5 and later). LMTP destinations have the following form:

unix:pathname
inet:hostname
inet:hostname:port
inet:[address]
inet:[address]:port

📨 SINGLE‑RECIPIENT DELIVERY

By default, the Postfix SMTP+LMTP client delivers mail to multiple recipients per delivery request. To prevent multiple recipients (e.g., when prepending Delivered‑To: or X‑Original‑To: headers), set:

transport_destination_recipient_limit = 1

where transport is the name in the first column of master.cf for this delivery service.

⚙️ COMMAND ATTRIBUTE SYNTAX

flags=DORX (optional) — Optional message processing flags.

🔒 SECURITY

The SMTP+LMTP client is moderately security‑sensitive. It talks to SMTP or LMTP servers and to DNS servers on the network. The SMTP+LMTP client can be run chrooted at fixed low privilege.

📜 STANDARDS

RFC 821, 822, 1651, 1652, 1870, 2033, 2034, 2045, 2046, 2554, 2821, 2920, 3207, 3461, 3463, 4954, 5321, 6531, 6533, 7672.

🩺 DIAGNOSTICS

Problems and transactions are logged to syslogd(8) or postlogd(8). Corrupted message files are marked so the queue manager can move them to the corrupt queue. Depending on notify_classes, the postmaster is notified of bounces, protocol problems, and other trouble.

🐛 BUGS

⚙️ CONFIGURATION PARAMETERS

Before Postfix 2.3, the LMTP client was a separate program with limited functionality. Most smtp_xxx parameters have an lmtp_xxx mirror. Changes to main.cf are picked up automatically; use postfix reload to speed up. See postconf(5) for details.

🔧 COMPATIBILITY CONTROLS

📄 MIME PROCESSING CONTROLS

🔍 EXTERNAL CONTENT INSPECTION CONTROLS

🔑 SASL AUTHENTICATION CONTROLS

🔐 STARTTLS SUPPORT CONTROLS

Detailed information in TLS_README.

🗑️ OBSOLETE STARTTLS CONTROLS

Compatibility with Postfix < 2.3. Support will be removed in a future release.

⏱️ RESOURCE AND RATE CONTROLS

🌍 SMTPUTF8 CONTROLS

Preliminary SMTPUTF8 support introduced with Postfix 3.0.

🛠️ TROUBLESHOOTING CONTROLS

🧩 MISCELLANEOUS CONTROLS

📚 SEE ALSO

📄 README FILES

Use postconf readme_directory or postconf html_directory to locate this information.

📄 LICENSE

The Secure Mailer license must be distributed with this software.

👤 AUTHOR(S)

Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA

Wietse Venema
Google, Inc.
111 8th Avenue
New York, NY 10011, USA

Command pipelining in cooperation with:
Jon Ribbens
Oaktree Internet Solutions Ltd.,
Internet House,
Canal Basin,
Coventry,
CV1 4LY, United Kingdom.

SASL support originally by:
Till Franke
SuSE Rhein/Main AG
65760 Eschborn, Germany

TLS support originally by:
Lutz Jaenicke
BTU Cottbus
Allgemeine Elektrotechnik
Universitaetsplatz 3‑4
D‑03044 Cottbus, Germany

Revised TLS and SMTP connection cache support by:
Victor Duchovni
Morgan Stanley

smtp(8)
📛 NAME 🚀 Quick Reference 📋 SYNOPSIS 📖 DESCRIPTION 🌐 SMTP DESTINATION SYNTAX 🔗 LMTP DESTINATION SYNTAX 📨 SINGLE‑RECIPIENT DELIVERY ⚙️ COMMAND ATTRIBUTE SYNTAX 🔒 SECURITY 📜 STANDARDS 🩺 DIAGNOSTICS 🐛 BUGS ⚙️ CONFIGURATION PARAMETERS
🔧 COMPATIBILITY CONTROLS 📄 MIME PROCESSING CONTROLS 🔍 EXTERNAL CONTENT INSPECTION CONTROLS 🔑 SASL AUTHENTICATION CONTROLS 🔐 STARTTLS SUPPORT CONTROLS 🗑️ OBSOLETE STARTTLS CONTROLS ⏱️ RESOURCE AND RATE CONTROLS 🌍 SMTPUTF8 CONTROLS 🛠️ TROUBLESHOOTING CONTROLS 🧩 MISCELLANEOUS CONTROLS
📚 SEE ALSO 📄 README FILES 📄 LICENSE 👤 AUTHOR(S)

Generated by phpman v4.9.26-1-g511901d Author: Che Dong Under GNU General Public License
2026-08-08 16:13 @216.73.216.150
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!
Enhanced by LLM: deepseek-v4-flash / taotoken.net / www.chedong.com - original format