Postfix Source CodeLicense | About | Stable release | Experimental release | Non-production release(s) | Still supported releases | Smuggling patches for older releases | Older releases
Postfix is released under a dual Eclipse Public license (EPL 2.0) and IBM Public License (IPL 1.0) (Postfix 3.1 and earlier are released under the IPL 1.0).
All Postfix source code is signed with Wietse's PGP key. See ftp://ftp.porcupine.org/mirrors/project-history/postfix/ for a more extensive archive of stable and experimental tarballs.
See below for past stable releases that are still supported and for releases that are no longer supported.
Stable releases do not change except for bugfixes and for portability fixes. New features are tested out in experimental releases (see below).
Postfix 3.11.6 Source code | GPG2 signature | GPG1 signature | PGP signature | Release notes | Change log
Stable releases are called "Postfix a.b.c", where a is the major release number, b is the minor release number, and c is the patchlevel.
Source code changes since Postfix Version 3.11.0.
Postfix Version 3.11 Patch 06 gpg2-sig gpg1-sig pgp-sig | 05 gpg2-sig gpg1-sig pgp-sig | 04 gpg2-sig gpg1-sig pgp-sig | 03 gpg2-sig gpg1-sig pgp-sig | 02 gpg2-sig gpg1-sig pgp-sig | 01 gpg2-sig gpg1-sig pgp-sig
New features are tested in experimental releases. They become part of the next official release once the code has not changed for a significant amount of time. Although this code is still subject to change, it runs on all of Wietse's systems so it is production quality.
postfix-3.12-20260821 Source code | GPG signature | GPG signature | PGP signature | Release notes | Change log
Experimental releases are named "postfix-a.b-yyyymmdd", where a.b is the next official Postfix release and yyyymmdd is the release date.
Non-production releases contain major changes that need to be tested further before they become part of a regular experimental release.
A non-production release usually includes all the features and fixes of the regular experimental release of the same or earlier date.
postfix-3.12-20260510-nonprod adds support for MySQL (MariaDB), PostgreSQL, and SQLite prepared statements.
postfix-3.12-20260510-nonprod non-production release Source code | GPG2 signature | GPG1 signature | PGP signature | Release notes | Change log
Postfix 3.10 Patchlevel 13 Source code | GPG signature | GPG signature | PGP signature | Release notes | Change log
Patch 13 gpg2-sig gpg1-sig pgp-sig | 12 gpg2-sig gpg1-sig pgp-sig | 11 gpg2-sig gpg1-sig pgp-sig | 10 gpg2-sig gpg1-sig pgp-sig | 09 gpg2-sig gpg1-sig pgp-sig | 07 gpg2-sig gpg1-sig pgp-sig | 08 gpg2-sig gpg1-sig pgp-sig | 07 gpg2-sig gpg1-sig pgp-sig | 06 gpg2-sig gpg1-sig pgp-sig | 05 gpg2-sig gpg1-sig pgp-sig | 04 gpg2-sig gpg1-sig pgp-sig | 03 gpg2-sig gpg1-sig pgp-sig | 02 gpg2-sig gpg1-sig pgp-sig | 01 gpg2-sig gpg1-sig pgp-sig
Postfix 3.9 Patchlevel 14 Source code | GPG signature | GPG signature | PGP signature | Release notes | Change log
Patch 14 gpg2-sig gpg1-sig pgp-sig | 13 gpg2-sig gpg1-sig pgp-sig | 12 gpg2-sig gpg1-sig pgp-sig | 11 gpg2-sig gpg1-sig pgp-sig | 10 gpg2-sig gpg1-sig pgp-sig | 09 gpg2-sig gpg1-sig pgp-sig | 08 gpg2-sig gpg1-sig pgp-sig | 07 gpg2-sig gpg1-sig pgp-sig | 06 gpg2-sig gpg1-sig pgp-sig | 05 gpg2-sig gpg1-sig pgp-sig | 04 gpg2-sig gpg1-sig pgp-sig | 03 gpg2-sig gpg1-sig pgp-sig | 02 gpg2-sig gpg1-sig pgp-sig | 01 gpg2-sig gpg1-sig pgp-sig
Postfix 3.8 Patchlevel 20 Source code | GPG signature | GPG signature | PGP signature | Release notes | Change log
Patch 20 gpg2-sig gpg1-sig pgp-sig | 19 gpg2-sig gpg1-sig pgp-sig | 18 gpg2-sig gpg1-sig pgp-sig | 17 gpg2-sig gpg1-sig pgp-sig | 16 gpg2-sig gpg1-sig pgp-sig | 15 gpg2-sig gpg1-sig pgp-sig | 14 gpg2-sig gpg1-sig pgp-sig | 13 gpg2-sig gpg1-sig pgp-sig | 12 gpg2-sig gpg1-sig pgp-sig | 11 gpg2-sig gpg1-sig pgp-sig | 10 gpg2-sig gpg1-sig pgp-sig | 09 gpg2-sig gpg1-sig pgp-sig | 08 gpg2-sig gpg1-sig pgp-sig | 07 gpg2-sig gpg1-sig pgp-sig | 06 gpg2-sig gpg1-sig pgp-sig | 05 gpg2-sig gpg1-sig pgp-sig | 04 gpg2-sig gpg1-sig pgp-sig | 03 gpg2-sig gpg1-sig pgp-sig | 02 gpg2-sig gpg1-sig pgp-sig | 01 gpg2-sig gpg1-sig pgp-sig
Postfix 3.7 Patchlevel 22 Source code | GPG signature | GPG signature | PGP signature | Release notes | Change log
Patch 22 gpg2-sig gpg1-sig pgp-sig | 21 gpg2-sig gpg1-sig pgp-sig | 20 gpg2-sig gpg1-sig pgp-sig | 19 gpg2-sig gpg1-sig pgp-sig | 18 gpg2-sig gpg1-sig pgp-sig | 17 gpg2-sig gpg1-sig pgp-sig | 16 gpg2-sig gpg1-sig pgp-sig | 15 gpg2-sig gpg1-sig pgp-sig | 14 gpg2-sig gpg1-sig pgp-sig | 13 gpg2-sig gpg1-sig pgp-sig | 12 gpg2-sig gpg1-sig pgp-sig | 11 gpg2-sig gpg1-sig pgp-sig | 10 gpg2-sig gpg1-sig pgp-sig | 09 gpg2-sig gpg1-sig pgp-sig | 08 gpg2-sig gpg1-sig pgp-sig | 07 gpg2-sig gpg1-sig pgp-sig | 06 gpg2-sig gpg1-sig pgp-sig | 05 gpg2-sig gpg1-sig pgp-sig | 04 gpg2-sig gpg1-sig pgp-sig | 03 gpg2-sig gpg1-sig pgp-sig | 02 gpg2-sig gpg1-sig pgp-sig | 01 gpg2-sig gpg1-sig pgp-sig
Postfix 3.6 Patchlevel 20 Source code | GPG signature | GPG signature | PGP signature | Release notes | Change log
Patch 20 gpg2-sig gpg1-sig pgp-sig | 19 gpg2-sig gpg1-sig pgp-sig | 18 gpg2-sig gpg1-sig pgp-sig | 17 gpg2-sig gpg1-sig pgp-sig | 16 gpg2-sig gpg1-sig pgp-sig | 15 gpg2-sig gpg1-sig pgp-sig | 14 gpg2-sig gpg1-sig pgp-sig | 13 gpg2-sig gpg1-sig pgp-sig | 12 gpg2-sig gpg1-sig pgp-sig | 11 gpg2-sig gpg1-sig pgp-sig | 10 gpg2-sig gpg1-sig pgp-sig | 09 gpg2-sig gpg1-sig pgp-sig | 08 gpg2-sig gpg1-sig pgp-sig | 07 gpg2-sig gpg1-sig pgp-sig | 06 gpg2-sig gpg1-sig pgp-sig | 05 gpg2-sig gpg1-sig pgp-sig | 04 gpg2-sig gpg1-sig pgp-sig | 03 gpg2-sig gpg1-sig pgp-sig | 02 gpg2-sig gpg1-sig pgp-sig | 01 gpg2-sig gpg1-sig pgp-sig
Postfix 3.5 Patchlevel 27 Source code | GPG signature | GPG signature | PGP signature | Release notes | Change log
Patch 27 gpg2-sig gpg1-sig pgp-sig | 26 gpg2-sig gpg1-sig pgp-sig | 25 gpg2-sig gpg1-sig pgp-sig | 24 gpg2-sig gpg1-sig pgp-sig | 23 gpg2-sig gpg1-sig pgp-sig | 22 gpg2-sig gpg1-sig pgp-sig | 21 gpg2-sig gpg1-sig pgp-sig | 20 gpg2-sig gpg1-sig pgp-sig | 19 gpg2-sig gpg1-sig pgp-sig | 18 gpg2-sig gpg1-sig pgp-sig | 17 gpg2-sig gpg1-sig pgp-sig | 16 gpg2-sig gpg1-sig pgp-sig | 15 gpg2-sig gpg1-sig pgp-sig | 14 gpg2-sig gpg1-sig pgp-sig | 13 gpg2-sig gpg1-sig pgp-sig | 12 gpg2-sig gpg1-sig pgp-sig | 11 gpg2-sig gpg1-sig pgp-sig | 10 gpg2-sig gpg1-sig pgp-sig | 09 gpg2-sig gpg1-sig pgp-sig | 08 gpg2-sig gpg1-sig pgp-sig | 07 gpg2-sig gpg1-sig pgp-sig | 06 gpg2-sig gpg1-sig pgp-sig | 05 gpg2-sig gpg1-sig pgp-sig | 04 gpg2-sig gpg1-sig pgp-sig | 03 gpg2-sig gpg1-sig pgp-sig | 02 gpg2-sig gpg1-sig pgp-sig | 01 gpg2-sig gpg1-sig pgp-sig
Postfix 3.4 Patchlevel 29 Source code | GPG signature | GPG signature | PGP signature | Release notes | Change log
Patch 29 gpg2-sig gpg1-sig pgp-sig | 28 gpg2-sig gpg1-sig pgp-sig | 27 gpg2-sig gpg1-sig pgp-sig | 26 gpg2-sig gpg1-sig pgp-sig | 25 gpg2-sig gpg1-sig pgp-sig | 24 gpg2-sig gpg1-sig pgp-sig | 23 gpg2-sig gpg1-sig pgp-sig | 22 gpg2-sig gpg1-sig pgp-sig | 21 gpg2-sig gpg1-sig pgp-sig | 20 gpg2-sig gpg1-sig pgp-sig | 19 gpg2-sig gpg1-sig pgp-sig | 18 gpg2-sig gpg1-sig pgp-sig | 17 gpg2-sig gpg1-sig pgp-sig | 16 gpg2-sig gpg1-sig pgp-sig | 15 gpg2-sig gpg1-sig pgp-sig | 14 gpg2-sig gpg1-sig pgp-sig | 13 gpg2-sig gpg1-sig pgp-sig | 12 gpg2-sig gpg1-sig pgp-sig | 11 gpg2-sig gpg1-sig pgp-sig | 10 gpg2-sig gpg1-sig pgp-sig | 09 gpg2-sig gpg1-sig pgp-sig | 08 gpg2-sig gpg1-sig pgp-sig | 07 gpg2-sig gpg1-sig pgp-sig | 06 gpg2-sig gpg1-sig pgp-sig | 05 gpg2-sig gpg1-sig pgp-sig | 04 gpg2-sig gpg1-sig pgp-sig | 03 gpg2-sig gpg1-sig pgp-sig | 02 gpg2-sig gpg1-sig pgp-sig | 01 gpg2-sig gpg1-sig pgp-sig
Postfix 3.3 Patchlevel 22 Source code | GPG signature | GPG signature | PGP signature | Release notes | Change log
Patch 22 gpg2-sig gpg1-sig pgp-sig | 21 gpg2-sig gpg1-sig pgp-sig | 20 gpg2-sig gpg1-sig pgp-sig | 19 gpg2-sig gpg1-sig pgp-sig | 18 gpg2-sig gpg1-sig pgp-sig | 17 gpg2-sig gpg1-sig pgp-sig | 16 gpg2-sig gpg1-sig pgp-sig | 15 gpg2-sig gpg1-sig pgp-sig | 14 gpg2-sig gpg1-sig pgp-sig | 13 gpg2-sig gpg1-sig pgp-sig | 12 gpg2-sig gpg1-sig pgp-sig | 11 gpg2-sig gpg1-sig pgp-sig | 10 gpg2-sig gpg1-sig pgp-sig | 09 gpg2-sig gpg1-sig pgp-sig | 08 gpg2-sig gpg1-sig pgp-sig | 07 gpg2-sig gpg1-sig pgp-sig | 06 gpg2-sig gpg1-sig pgp-sig | 05 gpg2-sig gpg1-sig pgp-sig | 04 gpg2-sig gpg1-sig pgp-sig | 03 gpg2-sig gpg1-sig pgp-sig | 02 gpg2-sig gpg1-sig pgp-sig | 01 gpg2-sig gpg1-sig pgp-sig
Postfix 3.2 Patchlevel 22 Source code | GPG signature | GPG signature | PGP signature | Release notes | Change log
Patch 22 gpg2-sig gpg1-sig pgp-sig | 21 gpg2-sig gpg1-sig pgp-sig | 20 gpg2-sig gpg1-sig pgp-sig | 19 gpg2-sig gpg1-sig pgp-sig | 18 gpg2-sig gpg1-sig pgp-sig | 17 gpg2-sig gpg1-sig pgp-sig | 16 gpg2-sig gpg1-sig pgp-sig | 15 gpg2-sig gpg1-sig pgp-sig | 14 gpg2-sig gpg1-sig pgp-sig | 13 gpg2-sig gpg1-sig pgp-sig | 12 gpg2-sig gpg1-sig pgp-sig | 11 gpg2-sig gpg1-sig pgp-sig | 10 gpg2-sig gpg1-sig pgp-sig | 09 gpg2-sig gpg1-sig pgp-sig | 08 gpg2-sig gpg1-sig pgp-sig | 07 gpg2-sig gpg1-sig pgp-sig | 06 gpg2-sig gpg1-sig pgp-sig | 05 gpg2-sig gpg1-sig pgp-sig | 04 gpg2-sig gpg1-sig pgp-sig | 03 gpg2-sig gpg1-sig pgp-sig | 02 gpg2-sig gpg1-sig pgp-sig | 01 gpg2-sig gpg1-sig pgp-sig
Postfix 3.1 Patchlevel 15 Source code | GPG signature | GPG signature | PGP signature | Release notes | Change log
Patch 15 gpg2-sig gpg1-sig pgp-sig | 14 gpg2-sig gpg1-sig pgp-sig | 13 gpg2-sig gpg1-sig pgp-sig | 12 gpg2-sig gpg1-sig pgp-sig | 11 gpg2-sig gpg1-sig pgp-sig | 10 gpg2-sig gpg1-sig pgp-sig | 09 gpg2-sig gpg1-sig pgp-sig | 08 gpg2-sig gpg1-sig pgp-sig | 07 gpg2-sig gpg1-sig pgp-sig | 06 gpg2-sig gpg1-sig pgp-sig | 05 gpg2-sig gpg1-sig pgp-sig | 04 gpg2-sig gpg1-sig pgp-sig | 03 gpg2-sig gpg1-sig pgp-sig | 02 gpg2-sig gpg1-sig pgp-sig | 01 gpg2-sig gpg1-sig pgp-sig
Postfix 3.0 Patchlevel 15 Source code | GPG2 signature | GPG1 signature | PGP signature | Release notes | Change log
Patch 15 gpg2-sig gpg1-sig pgp-sig | 14 gpg2-sig gpg1-sig pgp-sig | 13 gpg2-sig gpg1-sig pgp-sig | 12 gpg2-sig gpg1-sig pgp-sig | 11 gpg2-sig gpg1-sig pgp-sig | 10 gpg2-sig gpg1-sig