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