Postfix feature overview
Supported environments
Postfix runs on AIX, BSD, HP-UX, IRIX, LINUX, MacOS X, Solaris, Tru64 UNIX, and other UNIX systems. It requires ANSI C, a POSIX.1 library, and BSD sockets. See below for the gory details of what Postfix expects from the file system.
Gory details: the Postfix mail queue requires that (1) the file system can rename a file to a near-by directory without changing the file's inode number, and that (2) mail is safely stored after fsync() of that file (not its parent directory) returns successfully, even when that file is renamed to a near-by directory at some later point in time. Maildir delivery also requires that (3) a file can be hard linked between different near-by directories. Mailbox delivery introduces no additional requirements beyond what is already needed for Postfix queues.
Main features
The following is a list of major Postfix features. Some features require third-party libraries (examples: LDAP, SQL, TLS). Other features are available only when the necessary operating system support exists and Postfix knows how to use it (examples: IP version 6, connection caching).
Protocol support
Postfix 2.2 | Connection cache for SMTP |
Postfix 2.3 | DKIM, DomainKeys and SenderID authentication (via Milter plug-in) |
Postfix 2.3 | DSN status notifications |
Postfix 2.3 | Enhanced status codes |
Postfix 1.0 | ETRN on-demand relay |
Postfix 2.2 | IP version 6 |
Postfix 1.0 | LMTP client |
Postfix 2.0 | MIME (including 8BITMIME to 7BIT conversion) |
Postfix 1.0 | Pipelining (SMTP client and server) |
Postfix 2.3 | Plug-in support for multiple SASL implementations (Cyrus, Dovecot) |
Postfix 1.0 | SASL authentication |
Postfix 2.2 | TLS encryption and authentication |
Postfix 1.1 | QMQP server |
By popular demand...
Postfix 2.3 | Configurable delivery status notification message text |
Postfix 2.3 | Sender-dependent SMTP relay lookup |
Postfix 2.3 | Sender-dependent SASL password lookup |
Postfix 2.8 | Server reject "footer" text |
Junk mail control
Postfix 2.8 | Zombie blocker (postscreen). |
Postfix 2.8 | DNS whitelist support in smtpd and in postscreen. |
Postfix 2.1 | Access control per client/sender/recipient/etc. |
Postfix 2.1 | Address probing callout |
Postfix 1.1 | Content filter (built-in, external before queue, external after queue) |
Postfix 2.3 | Sendmail Milter (mail filter) protocol |
Postfix 2.1 | Greylisting plug-in |
Postfix 2.1 | SPF plug-in |
Postfix 2.2 | SMTP server per-client rate and concurrency limits |
Postfix 2.5 | Stress-dependent configuration |
Database support
Postfix 1.0 | Berkeley DB database |
Postfix 2.2 | CDB database |
Postfix 1.0 | DBM database |
Postfix 1.0 | LDAP database |
Postfix 1.0 | MySQL database |
Postfix 2.0 | PostgreSQL database |
Postfix 2.8 | SQLite database |
Mailbox support
Postfix 1.0 | Maildir and mailbox format |
Postfix 1.0 | Virtual domains |
Address manipulation
Postfix 2.2 | Masquerading addresses in outbound SMTP mail |
Postfix 2.2 | Selective address rewriting |
Postfix 1.1 | VERP envelope return addresses |