Mercurial > hg > mlmmj
annotate README @ 758:39881695c4cf
Correct command for deeply nested listdirs
(Corrects c02582939bbc)
author | Ben Schmidt |
---|---|
date | Mon, 11 Oct 2010 21:59:19 +1100 |
parents | c02582939bbc |
children | d4868a6f546d |
rev | line source |
---|---|
713 | 1 README mlmmj-1.2.17 Jan 23rd 2010 |
0 | 2 |
71 | 3 This is an attempt at implementing a mailing list manager with the same |
0 | 4 functionality as the brilliant ezmlm, but with a decent license and mail server |
5 independency. | |
6 | |
304 | 7 The functionality: |
0 | 8 |
735 | 9 · Archive |
10 · Custom headers / footer | |
11 · Fully automated bouncehandling (similar to ezmlm) | |
12 · Complete requeueing functionality | |
13 · Moderation functionality | |
14 · Subject prefix | |
15 · Subscribers only posting | |
16 · Regular expression access control | |
17 · Functionality to retrieve old posts | |
18 · Web-interface | |
19 · Digests | |
20 · No mail delivery subscription | |
21 · VERP support | |
22 · Delivery Status Notification (RFC1891) support | |
0 | 23 |
24 To use mlmmj, do the following: | |
25 | |
451 | 26 0) Compile it if you're not using a binary package such as dpkg, rpm or |
27 a ports collection from a BSD or Gentoo. To compile, untar the tar-ball | |
28 and do: | |
29 | |
30 $ ./configure && make && make install | |
31 | |
655
d0eac1a38a8b
Added --enable-recieve-strip configure option (Ansgar Burchardt)
mortenp
parents:
639
diff
changeset
|
32 If you want to filter multipart/mime messages, pass the option |
748
dfc9ab125fd4
Fix spelling of 'receive' and 'voodoo'; make mlmmj-recieve a symlink
Chris Webb
parents:
735
diff
changeset
|
33 --enable-receive-strip to configure, and take a look at |
dfc9ab125fd4
Fix spelling of 'receive' and 'voodoo'; make mlmmj-recieve a symlink
Chris Webb
parents:
735
diff
changeset
|
34 contrib/receivestrip/README. |
655
d0eac1a38a8b
Added --enable-recieve-strip configure option (Ansgar Burchardt)
mortenp
parents:
639
diff
changeset
|
35 |
533 | 36 1) Configure a recipient delimiter. The default is to use '+', and in |
37 Postfix it's done by adding | |
0 | 38 |
210 | 39 recipient_delimiter = + |
0 | 40 |
280 | 41 to /etc/postfix/main.cf. In Exim it can be done by adding |
271 | 42 |
43 local_part_suffix = +* | |
44 local_part_suffix_optional | |
45 | |
315 | 46 to the "userforward:" and the "localuser:" router in /etc/exim/exim.conf, |
323 | 47 and also add "local_part_suffix = +*" to the system_aliases function. Also |
48 make sure that exim will add the envelope from in the Return-Path: header. | |
0 | 49 |
323 | 50 There is a nice FAQ explaining recipient delimiter configuration here: |
51 | |
52 http://faqs.org/faqs/mail/addressing/ | |
0 | 53 |
751
ca8ddad585ef
Document that delimiter '-' is unlikely to work.
Ben Schmidt
parents:
749
diff
changeset
|
54 The mlmmj TUNABLE "delimiter" configures this on a per list basis |
ca8ddad585ef
Document that delimiter '-' is unlikely to work.
Ben Schmidt
parents:
749
diff
changeset
|
55 |
ca8ddad585ef
Document that delimiter '-' is unlikely to work.
Ben Schmidt
parents:
749
diff
changeset
|
56 NOTE: Using '-' as a delimiter is unlikely to work. Mlmmj uses '-' as its |
ca8ddad585ef
Document that delimiter '-' is unlikely to work.
Ben Schmidt
parents:
749
diff
changeset
|
57 own kind of minor delimiter. Of course, you also cannot use the delimiter |
ca8ddad585ef
Document that delimiter '-' is unlikely to work.
Ben Schmidt
parents:
749
diff
changeset
|
58 in your list names or you will encounter problems. |
533 | 59 |
749
fdc57c9e5f56
Remove .sh from mlmmj-make-ml.sh; symlink original name
Ben Schmidt
parents:
748
diff
changeset
|
60 2) Create the mailinglist. There's a script, mlmmj-make-ml, that will make |
210 | 61 a mailinglist for mlmmj. It is highly recommended to use this script to make |
62 the lists! What is does is described here: | |
0 | 63 |
210 | 64 In the case of a list called mlmmj-test below /var/spool/mlmmj it makes the |
65 following directories: | |
0 | 66 |
210 | 67 /var/spool/mlmmj/mlmmj-test/incoming |
68 /var/spool/mlmmj/mlmmj-test/queue | |
69 /var/spool/mlmmj/mlmmj-test/queue/discarded | |
70 /var/spool/mlmmj/mlmmj-test/archive | |
71 /var/spool/mlmmj/mlmmj-test/text | |
72 /var/spool/mlmmj/mlmmj-test/subconf | |
73 /var/spool/mlmmj/mlmmj-test/unsubconf | |
74 /var/spool/mlmmj/mlmmj-test/bounce | |
75 /var/spool/mlmmj/mlmmj-test/control | |
76 /var/spool/mlmmj/mlmmj-test/moderation | |
77 /var/spool/mlmmj/mlmmj-test/subscribers.d | |
366 | 78 /var/spool/mlmmj/mlmmj-test/digesters.d |
79 /var/spool/mlmmj/mlmmj-test/nomailsubs.d | |
210 | 80 /var/spool/mlmmj/mlmmj-test/requeue |
0 | 81 |
286 | 82 NOTE: The mailinglist directory (/var/spool/mlmmj/mlmmj-test in our |
83 example) have to be owned by the user the mailserver writes as. On some | |
84 Postfix installations Postfix is run by the user postfix, but still writes | |
85 files as nobody:nogroup or nobody:nobody | |
0 | 86 |
210 | 87 3) Make the changes to your mailserver aliases that came as output from |
749
fdc57c9e5f56
Remove .sh from mlmmj-make-ml.sh; symlink original name
Ben Schmidt
parents:
748
diff
changeset
|
88 mlmmj-make-ml. Following the example above they will look like this: |
0 | 89 |
748
dfc9ab125fd4
Fix spelling of 'receive' and 'voodoo'; make mlmmj-recieve a symlink
Chris Webb
parents:
735
diff
changeset
|
90 mlmmj-test: "|/usr/bin/mlmmj-receive -L /var/spool/mlmmj/mlmmj-test" |
0 | 91 |
210 | 92 NOTE: Don't forget newaliases. |
0 | 93 |
210 | 94 4) Start mlmmj-maintd (remember full path when starting it!) or add it to |
216 | 95 crontab with -F switch. The recommended way for now is to run it via cron: |
209 | 96 |
210 | 97 "0 */2 * * * /usr/bin/mlmmj-maintd -F -L /var/spool/mlmmj/mlmmj-test" |
209 | 98 |
286 | 99 It should be started as root, as mlmmj-maintd will become the user owning |
100 the listdir (/var/spool/mlmmj/mlmmj-test), and log it's last maintenance | |
101 run to listdir/mlmmj-maintd.lastrun.log. | |
102 | |
366 | 103 If you have several lists below /var/spool/mlmmj you can use -d: |
104 /usr/bin/mlmmj-maintd -F -d /var/spool/mlmmj | |
185 | 105 |
752
c02582939bbc
Info on how to run mlmmj-maintd on deeply nested listdirs (Thomas Goirand)
Ben Schmidt
parents:
751
diff
changeset
|
106 If you have lists more deeply nested below /var/spool/mlmmj, use |
c02582939bbc
Info on how to run mlmmj-maintd on deeply nested listdirs (Thomas Goirand)
Ben Schmidt
parents:
751
diff
changeset
|
107 something like: |
c02582939bbc
Info on how to run mlmmj-maintd on deeply nested listdirs (Thomas Goirand)
Ben Schmidt
parents:
751
diff
changeset
|
108 find /var/spool/mlmmj/ -mindepth 1 -maxdepth 1 -type d \ |
758 | 109 -exec /usr/bin/mlmmj-maintd -F -d {} \; |
752
c02582939bbc
Info on how to run mlmmj-maintd on deeply nested listdirs (Thomas Goirand)
Ben Schmidt
parents:
751
diff
changeset
|
110 |
323 | 111 That's it! You probably want to go through the next steps too. |
0 | 112 |
210 | 113 5) Subscribe some people |
0 | 114 |
210 | 115 /usr/bin/mlmmj-sub -L /var/spool/mlmmj/mlmmj-test/ -a joe@domain.tld |
116 | |
117 etc. | |
0 | 118 |
210 | 119 6) If you want custom headers like X-Mailinglist, Reply-To: etc. just add a |
120 file called 'customheaders' in the list control/ directory like this: | |
121 $ cat /var/spool/mlmmj/mlmmj-test/control/customheaders | |
122 X-Mailinglist: mlmmj-test | |
123 Reply-To: mlmmj-test@domain.tld | |
0 | 124 |
210 | 125 7) If you want every mail to have something like: |
126 -- | |
127 To unsubscribe send a mail to coollist+unsubscribe@lists.domain.net | |
128 | |
129 Just add what you want to a file named "footer" in the same dir as | |
130 "customheader" (listdir/control/). | |
0 | 131 |
210 | 132 8) If you want a prefix on the subject, to make it look like this: |
133 Subject: [mlmmj-test] how are we doing? | |
134 Simply do 'echo "[mlmmj-test]" > control/prefix | |
0 | 135 |
210 | 136 9) For having a moderated list, simply create a file called 'moderated' in the |
137 control/ directory. Moderators are added to a file called 'moderators' in | |
138 the control/ dir as well. | |
0 | 139 |
210 | 140 10) Have a look at the file TUNABLES for runtime configurable things. |
92 | 141 |
81
f435923b65e4
mlmmj-{,un}sub have been brought up to speed in a coordinated effort
mortenp
parents:
71
diff
changeset
|
142 Tunables in include/mlmmj.h: |
735 | 143 · There's some time intervals for how mlmmj-maintd operates. I've choosen |
185 | 144 non-strict defaults, so depending on your BOFH rate you might want to tweak. |
210 | 145 The defaults should be good for most people though. |
0 | 146 |
752
c02582939bbc
Info on how to run mlmmj-maintd on deeply nested listdirs (Thomas Goirand)
Ben Schmidt
parents:
751
diff
changeset
|
147 Have fun! |
0 | 148 |
32 | 149 Mads Martin Joergensen <mmj at mmj dot dk> |
150 Morten K. Poulsen <morten at afdelingp dot dk> |