## 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.

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.