<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>
<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>
(return path), for each of your subscribers - this means that it
will generate more traffic since you cannot bundle up deliveries
together. An <a
- href="http://www.python.org/cgi-bin/faqw-mm.py?req=show%26file=faq04.012.htp">analysis
+ href="http://wiki.list.org/display/DOC/So+what+is+this+VERP+stuff">analysis
of the costs of VERP</a> can be found in the <a
- href="http://www.python.org/cgi-bin/faqw-mm.py">Mailman FAQ
- Wizard</a>.</p>
+ href="http://wiki.list.org/">Mailman WIKI</a>.</p>
<p>VERP settings within Mailman are done on a per-installation
basis - ie they affect all the lists within the installation. To
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>