Exim 4.72 release
[exim-website.git] / howto / mailman.html
index 9b375e0bcb92cf4512a0f87c339e7a7efce6e85b..a547de2cd23a8cd4c9a26718f56623bee550d23e 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
   <head>
-    <title>HOWTO - Using exim and mailman together</title>
+    <title>Exim and Mailman HOWTO</title>
   </head>
 
-  <body bgcolor="#FFFFFF" text="#00005A" link="#FF6600" alink="#FF9933" vlink="#990000">
-    <h1>HOWTO - Using exim and mailman together</h1>
+  <body>
+    <h1>Exim and Mailman HOWTO</h1>
 
-    <p>Mailman is a list manager with web front end and built in
-      archiving functions.  Details can be found at <a href="http://www.list.org/">http://www.list.org/</a></p>
+    <p><a href="http://www.list.org/">Mailman</a> is a Mailing List
+    Manager (MLM).  There are 2 sets of documents on integration of
+    Mailman with exim:-</p>
 
-    <h2>Mailman configuration</h2>
+    <ul>
 
-    <p>There is no mailman configuration needed other than the
-    standard options detailed in the mailman install documentation.
-    The exim configuration is transparent to mailman.  The uid/gid
-    settings for mailman must match those in the config fragments
-    given below.</p>
+      <li>The <a href="mailman21.html">current document</a> which
+      covers Mailman version 2.1 and Exim version 4 - this should be
+      used for all new installations, since older versions of both
+      sets of software are now obsolete.</li>
 
-    <h2>Exim configuration</h2>
+      <li>The <a href="mailman20.html">old document</a> covering
+      Mailman 2.0 and Exim 3</li>
 
-    <p>The exim configuration is built so that a list created within
-    mailman automagically appears to exim without the need for
-    additional alias files etc to be changed.</p>
-
-    <p>The drawback of this configuration is that it will work poorly
-    on systems supporting lists in several different mail domains -
-    for that matter mailman itself has poor support for this right
-    now. This may change in the future</p>
-
-    <p>The configuration file segments included are to be built on top
-    of an already functional exim configuration, which accepts mail
-    for the domain which the list resides in (ie that domain is
-    already in <tt>local_domains</tt> - should this domain be separate
-    from the others handled by this exim, then add the list domain to
-    <tt>local_domains</tt>, add a <tt>domains=my.list.domain</tt>
-    option to each of the directors and you may wish to exclude that
-    domain from the other directors.</p>
-
-    <p>Your exim configuration also needs a working alias
-    configuration, with entries (within the list domain) for
-    <tt>mailman</tt>, <tt>mailman-request</tt> and
-    <tt>mailman-admin</tt> (plus any other global contact addresses
-    for the list master.</p>
-
-    <p>There are 3 config file sections below which need pasting into
-    the appropriate parts of the main exim config file.  The first one
-    may also need tailoring to your mailman configuration</p>
-
-    <h4>Main config file section</h4>
-<pre>
-## Top section of config file - macro definitions
-## Tailor these to fit your installation
-## pretty much everything else should just fit...
-##
-# home dir for mailman
-MAILMAN_HOME=/home/mailman
-# wrapper script for mailman
-MAILMAN_WRAP=MAILMAN_HOME/mail/wrapper
-# user and group for mailman
-MAILMAN_UID=exim
-MAILMAN_GID=exim
-</pre>
-    <h4>Transports config file section</h4>
-<pre>
-## Transports section
-##
-## Three transports for list mail, request mail and admin mail
-## respectively
-## Mailman is installed in MAILMAN_HOME
-## Mailman is configured to be invoked as user exim
-list_transport:
-           driver = pipe
-           command = MAILMAN_WRAP post ${lc:$local_part}
-           current_directory = MAILMAN_HOME
-           home_directory = MAILMAN_HOME
-           user = MAILMAN_UID
-           group = MAILMAN_GID
-
-list_request_transport:
-           driver = pipe
-           command = MAILMAN_WRAP mailcmd ${lc:$local_part}
-           current_directory = MAILMAN_HOME
-           home_directory = MAILMAN_HOME
-           user = MAILMAN_UID
-           group = MAILMAN_GID
-
-list_admin_transport:
-           driver = pipe
-           command = MAILMAN_WRAP mailowner ${lc:$local_part}
-           current_directory = MAILMAN_HOME
-           home_directory = MAILMAN_HOME
-           user = MAILMAN_UID
-           group = MAILMAN_GID
-
-### end of transports section fragment
-</pre>
-    <h4>Directors config file section</h4>
-<pre>
-## Directors section [this deals with local addresses]
-## 
-## First 2 directors rewrite list-owner or owner-list to list-admin
-## This is only done if the list exists.
-## List existence checks are done by seeing if the file
-## MAILMAN_HOME/lists/<list>/config.db
-## exists.  
-
-list_owner_director:
-   driver = smartuser
-   require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db
-   suffix = "-owner"
-   new_address = "${lc:$local_part}-admin@${domain}"
-
-owner_list_director:
-   driver = smartuser
-   require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db
-   prefix = "owner-"
-   new_address = "${lc:$local_part}-admin@${domain}"
-
-##
-## Next 3 directors direct admin, request and list mail to the appropriate
-## transport.  List existence is checked as above.
-
-list_admin_director:
-   driver = smartuser
-   suffix = -admin
-   require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db
-   transport = list_admin_transport
-
-list_request_director:
-   driver = smartuser
-   suffix = -request
-   require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db
-   transport = list_request_transport
-
-list_director:
-   driver = smartuser
-   require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db
-   transport = list_transport
-
-## End of directors fragment
-## End of config files bits
-</pre>
-
-<p>Exim should be configured to allow reasonable volume - ie no
-setting <tt>max_recipients</tt> down to a silly value, and with normal
-degrees of security - ie allowing relaying from <tt>127.0.0.1</tt>
-(thats vital), but pretty much nothing else.  Parallel deliveries and
-other tweaks can also be used.  Delay warning messages should be
-switched off or configured to only happen for non-list mail - unless
-you like receiving tons of mail when a host is down.</p>
-
-<h3>Problems</h3>
-<ul>
-
-   <li>Mailman's detection of exim bounces needs improving - it really
-   should make use of the extra header information that exim provides.
-   It also should recognise and deal with or ignore delay warning
-   messages.</li>
-
-   <li>List existence is checked on whether there is a config.db file
-   for a list.  If you delete lists by foul means, be aware of
-   this.</li>
-</ul>
-
-    <h2>Other Tweaks</h2> 
-
-    <p>One solution passed to me for handling virtual domains was -
-    <i>Since I use mailman in a virtual domain configuration with a
-    separate installation for each virtual domain, I did a slight
-    modification like this:</i></p>
-
-<pre>
-## transport configurations
-
-command = "/virtual/${domain}/mailman/mail/wrapper post ${lc:$local_part}"
-current_directory = /virtual/${domain}/mailman
-home_directory = /virtual/${domain}/mailman
-
-## and in the director part:
-
-require_files = /virtual/${domain}/mailman/lists/${lc:$local_part}/config.db
-
-</pre>
+    </ul>
 
     <hr>
-    <address><a href="mailto:Postmaster@exim.org">Nigel Metheringham</a></address>
-<!-- Created: Mon Aug 25 15:46:41 BST 1997 -->
-    <h4>$Id: mailman.html,v 1.6 2000/04/09 22:02:34 nigel Exp $</h4>
+    <address>$Cambridge$</address>
+<!-- Created: Wed Jun  9 12:32:18 BST 2004 -->
+<!-- hhmts start -->
+Last modified: Wed Jun  9 12:36:34 BST 2004
+<!-- hhmts end -->
   </body>
 </html>