X-Git-Url: https://git.exim.org/exim-website.git/blobdiff_plain/c22e79070947faaabf3fd6cfb01acfb00c4c47db..1c41225c3a2545363d768e2d0ff3aa1871e85495:/howto/mailman21.html?ds=sidebyside diff --git a/howto/mailman21.html b/howto/mailman21.html index 7d4d6e6..8e8ecac 100644 --- a/howto/mailman21.html +++ b/howto/mailman21.html @@ -1,9 +1,16 @@ - + + HOWTO - Using Exim 4 and Mailman together + - +

HOWTO - Using Exim 4 and Mailman 2.1 together

Mailman is a list manager with web front end and built in @@ -12,7 +19,7 @@ documentation describes the configuration of Exim (version 4) to work with Mailman version 2.1

-

Index

+

Index

  • Doing VERP and personalisation with exim - and Mailman
  • + and Mailman
  • Virtual domains
  • List policy management
  • @@ -48,10 +55,11 @@
  • List verification
  • Possible Problems
  • Document History
  • +
  • Document Changes
  • +
  • Final Word
  • -   -

    Scope of this document

    +

    Scope of this document

    This document describes how to set up a basic working configuration using Exim 4 as an MTA for the Mailman MLM. The @@ -70,11 +78,9 @@ Mailman or exim is not covered here - the documentation for the programs concerned should be read for this information.

    -   -

    Basic Configuration

    +

    Basic Configuration

    -   -

    Mailman configuration

    +

    Mailman configuration

    For basic operation there is no Mailman configuration needed other than the standard options detailed in the Mailman install @@ -114,8 +120,7 @@ the config file (which is the default mode of operation)

    -   -

    Exim configuration

    +

    Exim configuration

    The Exim configuration is built so that a list created within Mailman automatically appears to Exim without the need for @@ -152,8 +157,7 @@ enforcement. Remember that the exim daemon needs restarting before it sees configuration changes.

    -   -

    Main configuration settings

    +

    Main configuration settings

    First, you need to add some macros to the top of your Exim config file. These just make the routers and transport below a @@ -192,8 +196,7 @@ MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck -   -

    Exim Router

    +

    Exim Router

    This router picks up all the addresses going to the Mailman lists. Initially it selects only the domains that have may have @@ -214,16 +217,15 @@ require_files = MM_LISTCHK local_part_suffix_optional local_part_suffix = -admin : \ - -bounces : -bounces+* : \ + -bounces : -bounces+* : \ -confirm : -confirm+* : \ - -join : -leave : \ - -owner : -request : \ - -subscribe : -unsubscribe + -join : -leave : \ + -owner : -request : \ + -subscribe : -unsubscribe transport = mailman_transport -   -

    Exim Transport

    +

    Exim Transport

    The transport for Exim 4 can be placed anywhere where under the begin transports line of your Exim config file.

    @@ -250,8 +252,7 @@ -   -

    Basic mailing list MTA tuning

    +

    Basic mailing list MTA tuning

    Exim has a lot configurability, especially where the ACL (Access Control Lists) used during SMTP reception are concerned. @@ -261,8 +262,7 @@ filtering traffic that is going into the mailing list, however

    -   -

    Receiver verification

    +

    Receiver verification

    Exim's receiver verification feature is very useful -- it lets Exim reject unrouteable addresses at SMTP time. However, this is @@ -309,8 +309,7 @@ accept hosts = 127.0.0.1 -   -

    Tuning of numbers of recipients

    +

    Tuning of numbers of recipients

    By default Mailman will send up to 500 recipients on each message it injects into exim. However this is not necessarily a @@ -344,11 +343,9 @@ issue if you are pushing your system near its operational limits.

    -   -

    Doing VERP and personalisation with exim and Mailman

    +

    Doing VERP and personalisation with exim and Mailman

    -   -

    VERP within Mailman

    +

    VERP within Mailman

    VERP (Variable Envelope Return Paths) encodes the (original) receipient address @@ -365,7 +362,7 @@ (return path), for each of your subscribers - this means that it will generate more traffic since you cannot bundle up deliveries together. An analysis + href="http://www.python.org/cgi-bin/faqw-mm.py?req=show%26file=faq04.012.htp">analysis of the costs of VERP can be found in the Mailman FAQ Wizard.

    @@ -409,8 +406,7 @@ day, so ideally this approach should only be taken if the lists have more than 20 message per day throughput.

    -   -

    Mailing list personalisation by Mailman

    +

    Mailing list personalisation by Mailman

    Mailman can also personalise each message it sends out on a list. This allows, for example, the recipient's own address to @@ -434,8 +430,7 @@ interface a new set of options has appeared in the Non-digest options section.

    -   -

    VERP expansion by exim rather than Mailman

    +

    VERP expansion by exim rather than Mailman

    One drawback of VERP is that as well as increasing the bandwidth outgoing mail requires, it also causes Mailman to send @@ -465,14 +460,15 @@ mailman_verp_router: driver = dnslookup # we only consider messages sent in through loopback - condition = ${if eq{$sender_host_address}{127.0.0.1}{yes}{no}} + condition = ${if or{{eq{$sender_host_address}{127.0.0.1}} + {eq{$sender_host_address}{::1}}}{yes}{no}} # we do not do this for traffic going to the local machine domains = !+local_domains:!+mm_domains ignore_target_hosts = <; 0.0.0.0; \ + 64.94.110.11; \ 127.0.0.0/8; \ - ::1/128; \ - fe80::/10; \ - ff00::/8 + ::1/128;fe80::/10;fe \ + c0::/10;ff00::/8 # only the un-VERPed bounce addresses are handled senders = "*-bounces@*" transport = mailman_verp_smtp @@ -496,8 +492,7 @@ max_rcpt = 1 # Errors-To: may carry old return_path headers_remove = Errors-To - headers_add = Errors-To: \ - ${local_part:$return_path}+$local_part=$domain@${domain:$return_path} + headers_add = Errors-To: ${return_path}

    Once this has been configured, Mailman can be set to not do @@ -513,8 +508,7 @@

    If you have set personalisation on any list, this will still be handled, and VERPed, by Mailman.

    -   -

    Virtual domains

    +

    Virtual domains

    One approach to handling virtual domains is to use a separate Mailman installation for each virtual domain. (Currently, this is @@ -530,8 +524,7 @@

    and modify the mm_domains domain list appropriately.

    -   -

    List policy management

    +

    List policy management

    Most list policy handling is done within Mailman using the Web GUI. However some issues may be better handled by the MTA, @@ -550,8 +543,7 @@ causes Mailman generated traffic to bypass the machine intensive checks.

    -   -

    Content scanning

    +

    Content scanning

    I would recommend that mailing lists now scan for both spam and viruses on incoming mail - this is due to the potential for a @@ -583,8 +575,7 @@ which have a given spam rating (as well as bouncing messages with a very high rating).

    -   -

    Incoming message checks

    +

    Incoming message checks

    You may wish to apply various checks to incoming messages to ensure that they are sane. These may include:-

    @@ -600,8 +591,7 @@ may alienate by imposing too strict a set of controls, and balance that against the reduced amount of unwanted bulk mail.

    -   -

    Mailman specific ACL checks

    +

    Mailman specific ACL checks

    Lists should never receive bounce messages to the posting address unless the bounced message is either a forgery using the @@ -613,7 +603,7 @@

       # Reject bounce (null sender) messages to the list
    -  reject   message = "Recipient never sends mail so cannot cause bounces"
    +  deny     message = "Recipient never sends mail so cannot cause bounces"
                senders = :
                domains = +mm_domains
                condition = ${if exists{MM_LISTCHK} {yes}{no}}
    @@ -626,18 +616,17 @@
     
     
       # Reject bounce (null sender) messages to the list
    -  reject   message = "Recipient never sends mail so cannot cause bounces"
    +  deny     message = "Recipient never sends mail so cannot cause bounces"
                senders = :
                domains = +mm_domains
                local_parts = \N^.*-(admin|join|leave|owner|request)$\N
    -  reject   message = "Recipient never sends mail so cannot cause bounces"
    +  deny     message = "Recipient never sends mail so cannot cause bounces"
                senders = :
                domains = +mm_domains
                local_parts = \N^.*-(subscribe|unsubscribe)$\N
     
    -   -

    SMTP callbacks

    +

    SMTP callbacks

    Exim's SMTP callback feature is an even more powerful way to detect bogus sender addresses than normal sender verification. @@ -656,7 +645,7 @@

       # Do callback verification unless Mailman incoming bounce
    -  reject   !local_parts = *-bounces : *-bounces+*
    +  deny     !local_parts = *-bounces : *-bounces+*
                !verify = sender/callout=30s,defer_ok
     
     
    @@ -666,8 +655,7 @@ especially when the message is going to Mailman's bounce processor

    -   -

    List verification

    +

    List verification

    This is how a set of address tests for the Exim lists look on a working system. The list in question is @@ -679,15 +667,15 @@ % exim -bt testlist@list.example.com testlist@list.example.com router = mailman_router, transport = mailman_transport - + % exim -bt testlist-request@list.example.com testlist-request@list.example.com router = mailman_router, transport = mailman_transport - + % exim -bt testlist-bounces@list.example.com testlist-bounces@list.example.com router = mailman_router, transport = mailman_transport - + % exim -bt testlist-bounces+luser=example.com@list.example.com testlist-bounces+luser=example.com@list.example.com router = mailman_router, transport = mailman_transport @@ -699,8 +687,7 @@ that your Exim/Mailman installation is functioning perfectly, though!

    -   -

    Possible Problems

    +

    Possible Problems

    -   -

    Document History

    +

    Document History

    +

    Document Changes

    + + + + +

    Final Word

    +

    Like many documents of this type, it has evolved and taken on contributions by many many helpful folks, mainly those on the Mailman and exim mailing lists. To all of you, who have made @@ -750,6 +753,6 @@ You.


    -

    $Id: mailman21.html,v 1.7 2004/06/07 12:14:31 nigel Exp $

    +

    $Cambridge$