summaryrefslogtreecommitdiff
path: root/README.QMAIL
blob: 3e540d33667fb08eeb63c7440cc04cdfdba437ea (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Mailman - The GNU Mailing List Management System
Copyright (C) 1998 by the Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

QMAIL ISSUES

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).

- You might need to set the mail-gid user to either "qmail" or
  "nofiles" by using the --with-mail-gid configure option.

  BN: it highly depends on your mail storing policy.  For example if
  you use the simple ~alias/.qmail-* files, you can use `id -g alias`.
  But if you use /var/qmail/users, the specified mail gid can be
  used.

- If there is a user `mailman' on your system, the alias
  `mailman-owner' will work only in ~mailman.  You have to do a "touch
  .qmail-owner" in ~mailman directory to create this alias.

- 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
  `-' in them.  Putting .qmail redirections into the user's homedir
  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
  /var/qmail/users/assign file:

  +zope-:alias:112:11:/var/qmail/alias:-:zope-:
  .

  where in this case the listname is e.g. zope-users.

- BN: If inbound messages are delivered by another user than mailman,
  it's necessary to allow it to access ~mailman.  Be sure that
  ~mailman has group writing access and setgid bit is set.  Then put
  the delivering user to mailman group, and you can deny access to
  ~mailman to others.  Be sure that you can do the same with the WWW
  service.

  By the way the best thing is to make a virtual mail server to handle
  all of the mail.  Eg. make a CNAME record for the virtual mailserver
  (like `lists.kva.hu', thus a `mail.kva.hu IN CNAME lists.kva.hu')
  into the name service, put a `lists.kva.hu:mailman' line to
  /var/qmail/control/virtualdomains and a `lists.kva.hu' line to
  /var/qmail/control/rcpthosts file.  Then every mail to lists.kva.hu
  will arrive to mail.kva.hu's mailman user.

  Then make your aliases:
      .qmail              => mailman@...'s letters
      .qmail-owner        => mailman-owner's letters
      .qmail-list         => posts to the 'list' list
      .qmail-list-admin   => posts to the 'list's owner
      .qmail-list-request => requests to 'list'
      etc

  This allows people to write to mailman-list and such but it will be
  held by Mailman by default.

- 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 
  /etc/hosts.allow file:

  tcp-env: 127. 143.205.200 : setenv RELAYCLIENT

  where 143.205.200. is your domain.  If you use tcpserver, then you
  need something like the following in your /etc/tcp.smtp file:

  143.205.200.:allow,RELAYCLIENT=""
  127.:allow,RELAYCLIENT=""

- BN: Bigger /var/qmail/control/concurrencyremote values work better
  sending outbound messages.

- More information about setting up qmail and relaying can be found in 
  the qmail documentation.

BN: Last but not least, here's a little script to generate aliases to
your lists:

#!/bin/sh
if [ $# = 1 ]; then
    i=$1
    echo Making links to $i...
    echo "|preline /home/mailman/mail/wrapper post $i" > .qmail-$i
    echo "|preline /home/mailman/mail/wrapper mailowner $i" > .qmail-$i-admin
    echo "|preline /home/mailman/mail/wrapper mailowner $i" > .qmail-$i-owner
    echo "|preline /home/mailman/mail/wrapper mailowner $i" > .qmail-owner-$i
    echo "|preline /home/mailman/mail/wrapper mailcmd $i" > .qmail-$i-request
fi


Local Variables:
mode: text
indent-tabs-mode: nil
End: