Main Page
From postfix
Welcome to postfix, the document collector that anyone can edit.
We are currently working on 4 articles.
|
[edit] About PostfixWhat is Postfix? It is Wietse Venema's mailer that started life as an alternative to the widely-used Sendmail program. Postfix attempts to be fast, easy to administer, and secure, while at the same time being sendmail compatible enough to not upset existing users. Thus, the outside has a sendmail-ish flavor, but the inside is completely different. [edit] About Postfix WikiPostfix Wiki tries to collect all available documentation on Postfix. This seems like a big task, and without your help it's going to be. If you want to learn the wiki style please use this Sandbox and not the documents that are published. |
Documentation
Postfix Manuals and Documentation
- Postfix Documentation by Wietse and contributors
The online documentation at www.postfix.org is for the current official release. Postfix 2.x users should find the documents largely applicable to their systems, with features that require later releases noted in the tutorials or configuration parameter reference guide. Postfix 1.x users will more frequently find that the recipes in the tutorials require modifications or that the features described are not available.
When in doubt consult the documentation that is included with the source code of your release. This is typically installed with binary software packages. The location of the HTML documents is recorded in the "html_directory" configuration parameter. Postfix 1.x configuration samples were also found in the "sample_directory".
Everyone should be familiar with:
Then understand how Postfix rewrites addresses and selects the delivery method for each recipient:
Then choose a baseline configuration from one of the common cases:
Support for virtual domains is described in:
Support for client, sender, recipient restrictions:
Support for Variable Envelope Return Path addressing is described in:
To understand in more detail how the pieces fit together:
The documentation of each configuration parameter is at www.postfix.org/postconf.5.html#parameter_name
Keep it simple initially, don't build the complete configuration in one go, add a few features at a time and test. Use simple indexed files first, get used to the various tables that drive Postfix, and only then consider using LDAP, MySQL, PostgreSQL, ... to configure the tables:
If you run into trouble and need help, ask good questions:
Back-end options discussion.
Howtos
- Virtual Users and Domains with Courier-IMAP and MySQL
- Virtual Users and Domains with Courier-IMAP and PostgreSQL
- OpenBSD PostfixAdmin Guide
- Virtual Users with Dovecot and Active Directory/LDAP
FAQs
- Kyle Dent's Postfix resources.
- Ralf Hildebrandt's Postfix shrine.
Training
- Guru Labs class GL275 covers Postfix, email theory, DNS, SMTP Auth, STARTTLS, SpamAssassin, POP3/IMAP4 daemons, and Webmail with Squirrelmail.
MS Exchange Integration
- Running commands on the Exchange server and then copying the result to the Postfix box (by Steve Friedl).
- Running a PERL-based LDAP client on the Postfix box that queries the Active Directory domain controllers (by Chris Covington).
- relay_recipient_maps using LDAP against Active Directory by Jim Woodworth
- Get Concurrent Relay Recipients Queries Active Directory Server for all email addresses and creates associated postfix files (by Eric Lubow)
TLS
- Postfix TLS Support in Postfix 2.2 and later by Postfix TLS developers.
- Postfix TLS with free CAcert.org certificates howto by Petri T. Koistinen.
- Postfix SASL Authentication and TLS howto by Patrick Koetter.
- Supplement to Patrick Koetter's document by Adam Shostack.
- Postfix SASL + TLS + OpenBSD howto by Jeffrey Posluns.
- Postfix SASL + TLS + FreeBSD howto by Tim Yocum.
SASL
- Postfix/SASL/TLS HowTo for Debian Sid and Sarge howto by Jose Carlos Garcia Sogo, strongly based on howto by Patrick Koetter.
- Postfix SASL Authentication and TLS howto by Patrick Koetter.
- Cyrus-SASL-2.1.19 + checkpw.c CRYPT PATCH + MySQL-3.23.x + Postfix-2.x howto by Cody Tubbs.
- Postfix SASL + TLS + OpenBSD howto by Jeffrey Posluns.
- Postfix SASL + TLS + FreeBSD howto by Tim Yocum.
- Postfix SASL for Slackware by Henryk Liniowski (Linio).
- Postfix SMTP Authentication howto by Devin L. Ganger.
- Postfix SMTP Authentication with SASL+MySQL+Virtual domains+encrypted passwords on Debian 3.1/sarge howto by Luca Gibelli.
- Postfix SMTP Authentication with SASL+MySQL+Virtual domains+encrypted passwords on CentOS/RedHat howto by Sébastien Wains based on Luca Gibelli howto.
- Cyrus+SASL howto by Haim R. Dimermanas.
- Postfix+SASL+OpenSSL howto for Solaris 8 by Andy Barclay.
- Postfix SASL + Courier authdaemond + MySQL + MD5 on Debian howto by Fred from Linox.BE
UCE/Virus
- Gentoo mailfiltering gateway guide.
- Filtering spam with Postfix with spf, postgrey and Amavis by Kirk Strauser.
- How to get Dspam, Postfix, and Procmail to play well together by John Locke.
- Postfix Anti-UCE Cheat-Sheet by Jim Seymour.
- My Understanding Of How UCE Actually Works by Meng Wong.
- Anti-SPAM Gateway Using OpenBSD, Postfix, Amavisd-new, SpamAssassin, Razor and DCC by Scott Vintinner.
- Postfix UCE/anti-spam guide by Jeffrey Posluns.
- UCE and other howtos by Ralf Hildebrandt.
- Header/body junk mail patterns by Jesus Climent.
- Spam filtering configuration for Postfix by Petri T. Koistinen.
- Postfix and MailScanner are corrupting e-mails: choose the good MailScanner version to play well with Postfix by Fred from Linox.BE
- Spam filtering with Postfix, Amavisd-new, Spamassassin and greylisting by Sander Klein
- Postfix + Spamassassin via Milter by Jeffrey Goldberg
- Postfix+AmavisNew+ClamAV+SpamAssassin on Ubuntu by Ubuntu Community
- See also the add-on software page for SpamAssassin etc.
- DKIM setup using dkim-milter guide
- Domainkeys setup using dk-milter guide
high performance tip: if you are getting just 20-25 process running of spamassassin or amavis but still have alot of resources to use, set the spamassassin_destination_concurrency_limit or amavis_destination_concurrency_limit (*_destination_concurrency_limit, whatever you defined in the master.cf that are using in the content_filter) to a higer value. If not defined, postfix uses the default of 20 parallel deliveries and so it will not create more process, even if you increased all other limites (program limits, master.cf maxproc, etc) and have more than enough resources.
POP/IMAP and the kitchen sink
- Gentoo Virtual Mailhosting System with Postfix Guide.
- MAC OS X howto for using Postfix with the (ugh) UW IMAP server.
- GNU pop3d howto by Jørgen Thomsen.
- RedHat 7.1 + Postfix + Courier Maildrop + Courier IMAP howto by Robin Whittle.
- Cyrus+SASL howto by Haim R. Dimermanas.
- Postfix+Cyrus+Web-cyradm howto by Luc de Louw.
- Postfix+LDAP+Courier-IMAP howto by Jeroen Vriesman.
- Postfix+MySQL+Courier-IMAP howto by Phil Pereira.
- Postfix+MySQL+Courier-IMAP howto by Mischa Peters.
- Postfix+MySQL+Courier-IMAP howto by Kirby Menzel and Lucas Peet.
- Postfix+MySQL+Courier-IMAP+Maildrop+SpamAssassin howto by Serge Stepanov.
- Postfix+MySQL+Courier-IMAP+Amavis howto by Christoph Haas.
- Postfix+MySQL+Courier-IMAP+Amavis howto by Martin List-Petersen.
- Postfix+MySQL+Cyrus+SASL+Openmailadmin+Spamassassin+Amavisd howto by W-Mark Kubacki.
- Postfix+MySQL+Courier+Courier-authlib+SpamAssassin+Clamav+Amavisd-new+SASL+Maildrop+AncyraPM(Ancyra Postfix Manager) howto by Genco YILMAZ. Uses the Ancyra PostfixManager user management tool.
- Postfix+OpenLDAP+Dovecot-IMAP+Jamm+Cyrus-SASL+SSL/TLS+SquirrelMail howto by Peter Lacey.
- NOT WORKING: Postfix+ClamAV+SpamAssassin+MailScanner howto by Janet Bindner.
- Postfix+MySQL+Dovecot+SquirrelMail+Amavisd-new+ClamAV+SpamAssassin on Fedora Core 5 howto by Brian Collins.
- Postfix+Dovecot+SquirrelMail+ClamAV+SpamAssassin+MailScanner on RHEL/CentOS 5 howto.
Web-frontends and other GUI's
- Atmail is a complete IMAP/POP3/TLS Webmail client compatible with Postfix. Includes Ajax functionality, advanced Webmail interface supporting 12 languages and multiple Webmail themes. Calendaring, Wireless and Outlook Sync integration included, allowing you to extend a vanilla Postfix installation with an improved Webmail client and groupware functionality.
- WebCFG is an easy-to-install easy-to-use platform independent generic web front end for editing local/remote based text files (e.g. system configuration files simply in your web browser - there is no need for shell commands or Unix editors anymore. After modification is done, WebCFG executes local / remote commands/scripts forcing processing the new configuration (e.g. restart / reload a dependant service). Injecting special comment-tags like '# @WC tab / radiobuttons / combobox / textbox /...' to the text file will optimize and beautify the presentation in the web frontend for you or your customers. The free version of WebCFG includes an example for postfix managing aliases and virtual-files via webfrontend.
Mac OS X Specific
Resources
Install
Misc Scripts
Linux Specific
Resources
Install
Misc Scripts
- Basic SpamAssassin Integration with Postfix
- Postfix + SpamAssassin with SPAM Quarantine
- .forward with Reply to mail automatically (Vacation Reply)
- Making a mail responder in Postfix (a single address for testing email)
- Adding a Disclaimer to Email Messages
RedHat
iRedMail, Shell script set to install and setup Postfix mail server automatic on Red Hat(R) Enterprise Linux and CentOS 5.x.
- iRedMail. Homepage, in Chinese.
- Support both i386 and x86_64
- Support both MySQL and OpenLDAP.
- Full Open Source.
- Full featues.
Resources
Install
Misc Scripts
- Archiving Incoming and Outgoing Mail
- More INPUT NEEDED
FreeBSD Specific
Resources
Install
Tools
This is a BASH-script I wrote to recursively resolve aliases in a Postfix system.
This is an alternative to:
- postmap -q user@domain file_type:file_name (only gives on resolve iteration) (reference)
- sendmail -bv user@domain (no direct results on the command-line)
This script below will recursively search in 2 predefined databases.
name: alias-resolve.sh
#!/bin/bash
alias="$1"
count="$2"
let "count++"
if [ $count -gt 50 ]; then
echo "died: to many iterations!"
exit
fi
printf "(round %02d) " $count
hash="pcre:/etc/postfix/virtual-alias.pcre"
cmd="postmap -q $alias $hash"
resolve=`$cmd`
if [ "$resolve" == "" ]; then
hash="mysql:/etc/postfix/mysql_virtual_alias_maps.cf"
cmd="postmap -q $alias $hash"
resolve=`$cmd`
fi
if [ "$resolve" == "" ]; then
echo "alias '$alias' does not exist (can be REMOTE DELIVERY)"
exit
else
# multiple >> if containts a ","
if [ `expr index "$resolve" ','` -gt 0 ]; then
echo "alias '$alias' resolves to MULTIPLE ALIASES -> '$resolve'"
resolve_multiple=$resolve
resolve_one=${resolve_multiple%%,*} # takes the first token
until [ "$resolve_one" = "$resolve_multiple" ]
do
resolve_one=${resolve_multiple%%,*} # takes the first token
resolve_multiple=${resolve_multiple#*,} # chops that token from the string
$0 "$resolve_one" $count
done
else
if [ "$alias" != "$resolve" ]; then
echo "alias '$alias' resolves to '$resolve'"
$0 "$resolve" $count
else
echo "alias '$alias' resolves to self -> LOCAL DELIVERY"
fi
fi
fi
This is some example output:
Command: /etc/postfix/alias-resolve.sh user@example-domain.com; Result: (round 01) alias 'user@example-domain.com' resolves to MULTIPLE ALIASES -> 'another@target-domain.com,mailbox@example-domain.com' (round 02) alias 'another@target-domain.com' does not exist (can be REMOTE DELIVERY) (round 02) alias 'mailbox@example-domain.com' resolves to self -> LOCAL DELIVERY
--Jdgnl 00:20, 22 January 2008 (CET)
