tab and trailing space strip. Convert Id -> Cambridge
[exim-website.git] / howto / mailman21.html
index a430d5a937ef02a54db50af5e3407a3a5681e382..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>
     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
     driver = smtp
     # put recipient address into return_path
     return_path = \
-      ${local_part:$return_path}+$original_local_part=$original_domain@${domain:$return_path}
+      ${local_part:$return_path}+$local_part=$domain@${domain:$return_path}
     # must restrict to one recipient at a time
     max_rcpt = 1
     # Errors-To: may carry old return_path
     headers_remove = Errors-To
-    headers_add = Errors-To: \
-      ${local_part:$return_path}+$original_local_part=$original_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>
 
     <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>
+ 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>
 
 
     You</i>.</p>
 
     <hr>
-    <h4>$Id: mailman21.html,v 1.4 2004/06/25 12:42:53 nigel Exp $</h4>
+    <h4>$Cambridge$</h4>
   </body>
 </html>