diff options
Diffstat (limited to 'doc/mailman-install/qmail-issues.html')
-rw-r--r-- | doc/mailman-install/qmail-issues.html | 309 |
1 files changed, 309 insertions, 0 deletions
diff --git a/doc/mailman-install/qmail-issues.html b/doc/mailman-install/qmail-issues.html new file mode 100644 index 00000000..25948d95 --- /dev/null +++ b/doc/mailman-install/qmail-issues.html @@ -0,0 +1,309 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<link rel="STYLESHEET" href="mailman-install.css" type='text/css' /> +<link rel="first" href="mailman-install.html" title='GNU mailman - installation Manual' /> +<link rel='last' href='about.html' title='About this document...' /> +<link rel='help' href='about.html' title='About this document...' /> +<link rel="prev" href="node31.html" /> +<link rel="parent" href="mail-server.html" /> +<link rel="next" href="node36.html" /> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta name='aesop' content='information' /> +<title>6.4 Using the Qmail mail server</title> +</head> +<body> +<div class="navigation"> +<div id='top-navigation-panel' xml:id='top-navigation-panel'> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="6.3.3 performance notes" + href="node34.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></a></td> +<td class='online-navigation'><a rel="parent" title="6 set up your" + href="mail-server.html"><img src='up.png' + border='0' height='32' alt='Up one Level' width='32' /></a></td> +<td class='online-navigation'><a rel="next" title="6.4.1 information on VERP" + href="node36.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></a></td> +<td align="center" width="100%">GNU Mailman - Installation Manual</td> +<td class='online-navigation'><img src='blank.png' + border='0' height='32' alt='' width='32' /></td> +<td class='online-navigation'><img src='blank.png' + border='0' height='32' alt='' width='32' /></td> +<td class='online-navigation'><img src='blank.png' + border='0' height='32' alt='' width='32' /></td> +</tr></table> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="node34.html">6.3.3 Performance notes</a> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="mail-server.html">6 Set up your</a> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="node36.html">6.4.1 Information on VERP</a> +</div> +<hr /></div> +</div> +<!--End of Navigation Panel--> + +<h2><a name="SECTION001640000000000000000"></a><a name="qmail-issues"></a> +<br> +6.4 Using the Qmail mail server +</h2> + +<p> +There are some issues that users of the qmail mail transport agent have +encountered. None of the core maintainers use qmail, so all of this +information has been contributed by the Mailman user community, especially +Martin Preishuber and Christian Tismer, with notes by Balazs Nagy (BN) and +Norbert Bollow (NB). + +<p> + +<ul> +<li>You might need to set the mail-gid user to either <code>qmail</code>, + <code>mailman</code>, or <code>nofiles</code> by using the + <b class="programopt">--with-mail-gid</b> <b class="program">configure</b> option. + +<p> +<em>BN:</em> it highly depends on your mail storing policy. For example + if you use the simple <span class="file">~alias/.qmail-*</span> files, you can use + <b class="program">`id -g alias`</b>. But if you use <span class="file">/var/qmail/users</span>, the + specified mail gid can be used. + +<p> +If you are going to be directing virtual domains directly to the + <code>mailman</code> user (using ``virtualdomains'' on a list-only domain, for + example), you will have to use <b class="programopt">--with-mail-gid</b>=<var>gid + of mailman user's group</var>. This is incompatible with having list aliases + in <span class="file">~alias</span>, unless that alias simply forwards to + <code>mailman-listname*</code>. + +<p> +</li> +<li>If there is a user <code>mailman</code> on your system, the alias + <code>mailman-owner</code> will work only in <span class="file">~mailman</span>. You have to do + a <b class="program">touch .qmail-owner</b> in <span class="file">~mailman</span> directory to create + this alias. + +<p> +<em>NB:</em> An alternative, IMHO better solution is to <b class="program">chown + root ~mailman</b>, that will stop qmail from considering <code>mailman</code> to + be a user to whom mail can be delivered. (See ``man 8 qmail-getpw''.) + +<p> +</li> +<li>In a related issue, if you have any users with the same name as one of + your mailing lists, you will have problems if list names contain + "<tt class="samp">-</tt>" in them. Putting <span class="file">.qmail</span> redirections into the user's + home directory doesn't work because the Mailman wrappers will not get + spawned with the proper GID. The solution is to put the following lines + in the <span class="file">/var/qmail/users/assign</span> file: + +<p> +<div class="verbatim"><pre> + +zope-:alias:112:11:/var/qmail/alias:-:zope-: + . +</pre></div> + +<p> +where in this case the listname is e.g. <code>zope-users</code>. + +<p> +<em>NB:</em> Alternatively, you could host the lists on a virtual domain, + and use the <span class="file">/var/qmail/control/virtualdomains</span> file to put the + <code>mailman</code> user in charge of this virtual domain. + +<p> +</li> +<li><em>BN:</em>If inbound messages are delivered by another user than + <code>mailman</code>, it's necessary to allow it to access <span class="file">~mailman</span>. + Be sure that <span class="file">~mailman</span> has group writing access and setgid bit is + set. Then put the delivering user to <code>mailman</code> group, and you can + deny access to <span class="file">~mailman</span> to others. Be sure that you can do the + same with the WWW service. + +<p> +By the way the best thing is to make a virtual mail server to handle all + of the mail. <em>NB:</em> E.g. make an additional "A" DNS record for the + virtual mailserver pointing to your IP address, add the line + <code>lists.kva.hu:mailman</code> to <span class="file">/var/qmail/control/virtualdomains</span> + and a <code>lists.kva.hu</code> line to <span class="file">/var/qmail/control/rcpthosts</span> + file. Don't forget to HUP the qmail-send after modifying + ``virtualdomains''. Then every mail to lists.kva.hu will arrive to + mail.kva.hu's mailman user. + +<p> +Then make your aliases: + +<p> +<div class="verbatim"><pre> + .qmail => mailman@...'s letters + .qmail-owner => mailman-owner's letters +</pre></div> + +<p> +For list aliases, you can either create them manually: + +<p> +<div class="verbatim"><pre> + .qmail-list => posts to the 'list' list + .qmail-list-admin => posts to the 'list's owner + .qmail-list-request => requests to 'list' + etc +</pre></div> + +<p> +or for automatic list alias handling (when using the lists.kva.hu + virtual as above), see <span class="file">contrib/qmail-to-mailman.py</span> in the Mailman + source distribution. Modify the <span class="file">~mailman/.qmail-default</span> to + include: + +<p> +<div class="verbatim"><pre> + |preline /path/to/python /path/to/qmail-to-mailman.py +</pre></div> + +<p> +and new lists will automatically be picked up. + +<p> +</li> +<li>You have to make sure that the localhost can relay. If you start qmail + via inetd and tcpenv, you need some line the following in your + <span class="file">/etc/hosts.allow</span> file: + +<p> +<div class="verbatim"><pre> + tcp-env: 127. 10.205.200. : setenv RELAYCLIENT +</pre></div> + +<p> +where 10.205.200. is your IP address block. If you use tcpserver, then + you need something like the following in your <span class="file">/etc/tcp.smtp</span> file: + +<p> +<div class="verbatim"><pre> + 10.205.200.:allow,RELAYCLIENT="" + 127.:allow,RELAYCLIENT="" +</pre></div> + +<p> +</li> +<li><em>BN:</em> Bigger <span class="file">/var/qmail/control/concurrencyremote</span> values + work better sending outbound messages, within reason. Unless you know + your system can handle it (many if not most cannot) this should not be + set to a value greater than 120. + +<p> +</li> +<li>More information about setting up qmail and relaying can be found in the + qmail documentation. +</li> +</ul> + +<p> +<em>BN:</em> Last but not least, here's a little script to generate aliases to +your lists (if for some reason you can/will not have them automatically picked +up using <span class="file">contrib/qmail-to-mailman.py</span>): + +<p> +This script is for the Mailman 2.0 series: + +<p> +<div class="verbatim"><pre> +#!/bin/sh +if [ $# = 1 ]; then + i=$1 + echo Making links to $i in the current directory... + echo "|preline /home/mailman/mail/mailman post $i" > .qmail-$i + echo "|preline /home/mailman/mail/mailman mailowner $i" > .qmail-$i-admin + echo "|preline /home/mailman/mail/mailman mailowner $i" > .qmail-$i-owner + echo "|preline /home/mailman/mail/mailman mailowner $i" > .qmail-owner-$i + echo "|preline /home/mailman/mail/mailman mailcmd $i" > .qmail-$i-request +fi +</pre></div> + +<p> +<div class="note"><b class="label">Note:</b> + +This is for a new Mailman 2.1 installation. Users upgrading from +Mailman 2.0 would most likely change <span class="file">/usr/local/mailman</span> to +<span class="file">/home/mailman</span>. If in doubt, refer to the <b class="programopt">--prefix</b> +option passed to <b class="program">configure</b> during compile time. +</div> + +<p> +<div class="verbatim"><pre> +#!/bin/sh +if [ $# = 1 ]; then + i=$1 + echo Making links to $i in the current directory... + echo "|preline /usr/local/mailman/mail/mailman post $i" > .qmail-$i + echo "|preline /usr/local/mailman/mail/mailman admin $i" > .qmail-$i-admin + echo "|preline /usr/local/mailman/mail/mailman bounces $i" > .qmail-$i-bounces + # The following line is for VERP + # echo "|preline /usr/local/mailman/mail/mailman bounces $i" > .qmail-$i-bounces-default + echo "|preline /usr/local/mailman/mail/mailman confirm $i" > .qmail-$i-confirm + echo "|preline /usr/local/mailman/mail/mailman join $i" > .qmail-$i-join + echo "|preline /usr/local/mailman/mail/mailman leave $i" > .qmail-$i-leave + echo "|preline /usr/local/mailman/mail/mailman owner $i" > .qmail-$i-owner + echo "|preline /usr/local/mailman/mail/mailman request $i" > .qmail-$i-request + echo "|preline /usr/local/mailman/mail/mailman subscribe $i" > .qmail-$i-subscribe + echo "|preline /usr/local/mailman/mail/mailman unsubscribe $i" > .qmail-$i-unsubscribe +fi +</pre></div> + +<p> + +<p><br /></p><hr class='online-navigation' /> +<div class='online-navigation'> +<!--Table of Child-Links--> +<a name="CHILD_LINKS"><strong>Subsections</strong></a> + +<ul class="ChildLinks"> +<li><a href="node36.html">6.4.1 Information on VERP</a> +<li><a href="node37.html">6.4.2 Virtual mail server</a> +<li><a href="node38.html">6.4.3 More information</a> +</ul> +<!--End of Table of Child-Links--> +</div> + +<div class="navigation"> +<div class='online-navigation'> +<p></p><hr /> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="6.3.3 performance notes" + href="node34.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></a></td> +<td class='online-navigation'><a rel="parent" title="6 set up your" + href="mail-server.html"><img src='up.png' + border='0' height='32' alt='Up one Level' width='32' /></a></td> +<td class='online-navigation'><a rel="next" title="6.4.1 information on VERP" + href="node36.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></a></td> +<td align="center" width="100%">GNU Mailman - Installation Manual</td> +<td class='online-navigation'><img src='blank.png' + border='0' height='32' alt='' width='32' /></td> +<td class='online-navigation'><img src='blank.png' + border='0' height='32' alt='' width='32' /></td> +<td class='online-navigation'><img src='blank.png' + border='0' height='32' alt='' width='32' /></td> +</tr></table> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="node34.html">6.3.3 Performance notes</a> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="mail-server.html">6 Set up your</a> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="node36.html">6.4.1 Information on VERP</a> +</div> +</div> +<hr /> +<span class="release-info">Release 2.1, documentation updated on December 5, 2007.</span> +</div> +<!--End of Navigation Panel--> + +</body> +</html> |