tab and trailing space strip. Convert Id -> Cambridge
[exim-website.git] / howto / mailman21.html
index 643b7be3bf1388ea74a0a7b6cdb2f7c2a78b5271..8e8ecac83f4b82d83f41bc1c9a96823b9a75c27c 100644 (file)
       <li><a href="#smtune">SMTP callback</a></li>
     </ul>
     <li><a href="#verpin">Doing VERP and personalisation with exim
      and Mailman</a></li>
+ and Mailman</a></li>
     <ul>
       <li><a href="#verpmm">VERP within Mailman</a></li>
       <li><a href="#persmm">Mailing list personalisation by Mailman</a></li>
       <li><a href="#verpex">VERP expansion by Exim rather than
-         Mailman</a></li>
+   Mailman</a></li>
     </ul>
     <li><a href="#virdom">Virtual domains</a></li>
     <li><a href="#lispol">List policy management</a></li>
@@ -55,6 +55,8 @@
     <li><a href="#lisver">List verification</a></li>
     <li><a href="#problem">Possible Problems</a></li>
     <li><a href="#dochis">Document History</a></li>
+    <li><a href="#doccha">Document Changes</a></li>
+    <li><a href="#docfin">Final Word</a></li>
   </ul>
 
     <h2><a href="#index"><a name="scope">Scope of this document</a></a></h2>
     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
 </pre>
 
   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
     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}
 </pre>
 
     <p>Once this has been configured, Mailman can be set to not do
 
 <pre>
   # 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}}
 
 <pre>
   # 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
 
 <pre>
   # Do callback verification unless Mailman incoming bounce
-  reject   !local_parts = *-bounces : *-bounces+*
+  deny     !local_parts = *-bounces : *-bounces+*
            !verify = sender/callout=30s,defer_ok
 
 </pre>
   % 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
       <li>Originally written by Nigel Metheringham.</li>
       <li>Updated by Marc Merlin for Mailman 2.1, Exim 4</li>
       <li>Overhauled/reformatted/clarified/simplified by Greg
      Ward.</li>
+ Ward.</li>
       <li>Rehashed again by Nigel Metheringham</li>
     </ul>
 
+    <h2><a href="#index"><a name="doccha">Document Changes</a></a></h2>
+
+    <ul>
+      <li><b>14 June 2004</b> Originally written by Nigel Metheringham.</li>
+      <li><b>28 June 2004</b> Fixed a problem with the Exim VERP
+ transport which caused locally aliased recipient addresses to
+ have incorrect VERP extensions added.  Followed posting to
+ exim-users list by Arkadiusz Miskiewicz -- <i>Nigel Metheringham</i>.</li>
+      <li><b>19 November 2004</b> Fixed previously unnoticed brainstorm
+ where <tt>reject</tt> had been used as a ACL verb rather than
+ <tt>deny</tt>.  Fixes to the VERP router/transport pair.
+ -- <i>Nigel Metheringham</i></li>
+    </ul>
+
+
+    <h2><a href="#index"><a name="docfin">Final Word</a></a></h2>
+
     <p>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
     You</i>.</p>
 
     <hr>
-    <h4>$Id: mailman21.html,v 1.3 2004/06/09 11:36:59 nigel Exp $</h4>
+    <h4>$Cambridge$</h4>
   </body>
 </html>