6.1 Using the Postfix mail server

Mailman should work pretty much out of the box with a standard Postfix installation. It has been tested with various Postfix versions up to and including Postfix 2.1.5.

By default, Postfix treats -owner and -request addresses specially. Since you want Postfix to deliver such messages to Mailman, you should turn off this option by adding this to your main.cf file:

    owner_request_special = no

In order to support Mailman's optional VERP delivery, you will want to disable luser_relay (the default) and you will want to set recipient_delimiter for extended address semantics. You should comment out any luser_relay value in your main.cf and just go with the defaults. Also, add this to your main.cf file:

    recipient_delimiter = +

Using "+" as the delimiter works well with the default values for VERP_FORMAT and VERP_REGEXP in Defaults.py.

When attempting to deliver a message to a non-existent local address, Postfix may return a 450 error code. Since this is a transient error code, Mailman will continue to attempt to deliver the message for DELIVERY_RETRY_PERIOD - 5 days by default. You might want to set Postfix up so that it returns permanent error codes for non-existent local users by adding the following to your main.cf file:

    unknown_local_recipient_reject_code = 550

Finally, if you are using Postfix-style virtual domains, read the section on virtual domain support below.



Subsections