mirror updates and fixes
[exim-website.git] / howto / mailman.html
index 9b375e0bcb92cf4512a0f87c339e7a7efce6e85b..ac7068cadfc441ed5e52c20a46dc1e1954fe951d 100644 (file)
@@ -1,32 +1,32 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
 <html>
   <head>
-    <title>HOWTO - Using exim and mailman together</title>
+    <title>HOWTO - Using exim and Mailman together</title>
   </head>
 
   <body bgcolor="#FFFFFF" text="#00005A" link="#FF6600" alink="#FF9933" vlink="#990000">
-    <h1>HOWTO - Using exim and mailman together</h1>
+    <h1>HOWTO - Using exim and Mailman together</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>
 
     <h2>Mailman configuration</h2>
 
-    <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
+    <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>
 
     <h2>Exim configuration</h2>
 
     <p>The exim configuration is built so that a list created within
-    mailman automagically appears to exim without the need for
+    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
+    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
     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>
+    for the list master).  These addresses point to a (or some - not
+    necessarily the same for all of these aliases) human rather than
+    being piped into Mailman. You do <b>not</b> need to put per-list
+    entries into the system alias file, and doing so will most likely
+    break things since the user id used for delivery is likely to be
+    incorrect or not set (which causes an exim delivery time config
+    error).</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>
+    may also need tailoring to your Mailman configuration</p>
 
     <h4>Main config file section</h4>
 <pre>
 ## Tailor these to fit your installation
 ## pretty much everything else should just fit...
 ##
-# home dir for mailman
+# home dir for Mailman
 MAILMAN_HOME=/home/mailman
 # wrapper script for mailman
 MAILMAN_WRAP=MAILMAN_HOME/mail/wrapper
-# user and group for mailman
+# user and group for Mailman
 MAILMAN_UID=exim
 MAILMAN_GID=exim
 </pre>
@@ -157,17 +163,23 @@ you like receiving tons of mail when a host is down.</p>
    <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>
+   messages.  <i>Mailman 2.0beta does handle exim bounces correctly,
+   but still passes delay warnings to the list administrator</i></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>
+
+   <li>If you are getting exim or Mailman complaining about user ids
+   when you send mail to a list, check that the MAILMAN_UID and
+   MAILMAN_GID match those of Mailman itself.  Also make sure you do
+   <b>not</b> have aliases in the main alias file for the list.</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
+    <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>
 
@@ -184,9 +196,75 @@ require_files = /virtual/${domain}/mailman/lists/${lc:$local_part}/config.db
 
 </pre>
 
+    <h2>Exim List Efficiency Tweaks</h2>
+
+    <p>This is a set of configuration directives I used on the list
+    boxes I admin.  Some of these are necessary, others are cosmetic,
+    a few are probably superfluous - they work for me!</p>
+<pre>
+# definition of injecting IP addresses
+LOCAL_NETS=127.0.0.1/32
+#
+# Extra logging data - not necessary but makes the logs more
+# useful, but bigger
+# lookup all hostnames - puts hostnames into log as well as ips
+host_lookup = 0.0.0.0/0
+# tweak logging
+log_all_parents
+log_file_path = /var/log/exim/%s.log
+log_received_recipients
+log_refused_recipients
+log_received_sender
+log_smtp_confirmation
+#
+# RBL settings - these are more severe than I use
+rbl_domains = rbl.maps.vix.com/reject:relays.mail-abuse.org/reject:dul.maps.vix.com/reject:relays.orbs.org=127.0.0.2,127.0.0.3/reject
+rbl_hosts = !LOCAL_NETS:0.0.0.0/0
+rbl_log_rcpt_count
+recipients_reject_except=postmaster@*:*-admin@*
+#
+# relay control - from our local network only
+host_accept_relay = LOCAL_NETS
+#
+# delay warnings - second line is now default, but earlier versions of
+# exim need it setting
+delay_warning = 26h
+##delay_warning_condition = "${if match{$h_precedence:}{(?i)bulk|list|junk}{no}{yes}}"
+#
+# Verify receipient addresses on everything except local injects
+# DO NOT verify addresses from Mailman - this would slow down
+# the acceptance of messages dramatically
+receiver_verify_hosts = !127.0.0.1/8:0.0.0.0/0
+sender_verify
+#
+# performance tweaks - 1st is good for linux, maybe less so for others
+split_spool_directory
+remote_max_parallel = 15
+</pre>
+
+<h2>List verification</h2>
+
+<p>This is how a set of address tests for the exim lists look on a
+working system. (command lines start with "&gt;")</p>
+<pre>
+> /usr/sbin/exim -v -bt exim-users
+exim-users@www.exim.org
+  deliver to exim-users in domain www.exim.org
+  director = list_director, transport = list_transport
+
+> /usr/sbin/exim -bt exim-users-request
+exim-users-request@www.exim.org
+  deliver to exim-users in domain www.exim.org
+  director = list_request_director, transport = list_request_transport
+
+> /usr/sbin/exim -bt exim-users-admin
+exim-users-admin@www.exim.org
+  deliver to exim-users in domain www.exim.org
+  director = list_admin_director, transport = list_admin_transport
+
     <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>
+    <h4>$Id: mailman.html,v 1.2 2000/05/30 19:59:57 nigel Exp $</h4>
   </body>
 </html>