annotate README @ 918:570dd6d4942b RELEASE_1_3_0

Mlmmj 1.3.0.
author Ben Schmidt
date Thu, 25 May 2017 07:32:05 +1000
parents bb4a7a82dbcc
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
918
570dd6d4942b Mlmmj 1.3.0.
Ben Schmidt
parents: 914
diff changeset
1 README mlmmj-1.3.0 May 25, 2017
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
2
71
489a2ecafb36 Assorted fixes
mmj
parents: 65
diff changeset
3 This is an attempt at implementing a mailing list manager with the same
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
4 functionality as the brilliant ezmlm, but with a decent license and mail server
879
0f90ad70a59f mlmmj-1.2.18.0
Ben Schmidt
parents: 877
diff changeset
5 independence.
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
6
304
2825f29bb451 Small updates
mmj
parents: 291
diff changeset
7 The functionality:
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
8
735
0e403f9320ac Convert documentation to UTF-8
Ben Schmidt
parents: 713
diff changeset
9 · Archive
0e403f9320ac Convert documentation to UTF-8
Ben Schmidt
parents: 713
diff changeset
10 · Custom headers / footer
881
3c12de444750 Tidy documentation a little.
Ben Schmidt
parents: 879
diff changeset
11 · Fully automated bounce handling (similar to ezmlm)
735
0e403f9320ac Convert documentation to UTF-8
Ben Schmidt
parents: 713
diff changeset
12 · Complete requeueing functionality
0e403f9320ac Convert documentation to UTF-8
Ben Schmidt
parents: 713
diff changeset
13 · Moderation functionality
0e403f9320ac Convert documentation to UTF-8
Ben Schmidt
parents: 713
diff changeset
14 · Subject prefix
0e403f9320ac Convert documentation to UTF-8
Ben Schmidt
parents: 713
diff changeset
15 · Subscribers only posting
0e403f9320ac Convert documentation to UTF-8
Ben Schmidt
parents: 713
diff changeset
16 · Regular expression access control
0e403f9320ac Convert documentation to UTF-8
Ben Schmidt
parents: 713
diff changeset
17 · Functionality to retrieve old posts
881
3c12de444750 Tidy documentation a little.
Ben Schmidt
parents: 879
diff changeset
18 · Web interface
735
0e403f9320ac Convert documentation to UTF-8
Ben Schmidt
parents: 713
diff changeset
19 · Digests
881
3c12de444750 Tidy documentation a little.
Ben Schmidt
parents: 879
diff changeset
20 · No-mail subscription
735
0e403f9320ac Convert documentation to UTF-8
Ben Schmidt
parents: 713
diff changeset
21 · VERP support
0e403f9320ac Convert documentation to UTF-8
Ben Schmidt
parents: 713
diff changeset
22 · Delivery Status Notification (RFC1891) support
865
a0e7464ec2b3 Alpha release 1.2.18a1.
Ben Schmidt
parents: 760
diff changeset
23 · Rich, customisable texts for automated operations
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
24
21ce01de8109 Initial revision
mmj
parents:
diff changeset
25 To use mlmmj, do the following:
21ce01de8109 Initial revision
mmj
parents:
diff changeset
26
451
d146092aefd5 README enhancements
mmj
parents: 447
diff changeset
27 0) Compile it if you're not using a binary package such as dpkg, rpm or
d146092aefd5 README enhancements
mmj
parents: 447
diff changeset
28 a ports collection from a BSD or Gentoo. To compile, untar the tar-ball
d146092aefd5 README enhancements
mmj
parents: 447
diff changeset
29 and do:
d146092aefd5 README enhancements
mmj
parents: 447
diff changeset
30
d146092aefd5 README enhancements
mmj
parents: 447
diff changeset
31 $ ./configure && make && make install
d146092aefd5 README enhancements
mmj
parents: 447
diff changeset
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
40c505c297f5 README and logging of discarded From: emails
mmj
parents: 526
diff changeset
37 1) Configure a recipient delimiter. The default is to use '+', and in
40c505c297f5 README and logging of discarded From: emails
mmj
parents: 526
diff changeset
38 Postfix it's done by adding
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
39
210
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
40 recipient_delimiter = +
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
41
280
8ea7108cc4ae 0.8.1 preparations
mmj
parents: 271
diff changeset
42 to /etc/postfix/main.cf. In Exim it can be done by adding
271
0bb008e061f4 Mention how recipient_delimiter is done in Exim
mmj
parents: 261
diff changeset
43
0bb008e061f4 Mention how recipient_delimiter is done in Exim
mmj
parents: 261
diff changeset
44 local_part_suffix = +*
0bb008e061f4 Mention how recipient_delimiter is done in Exim
mmj
parents: 261
diff changeset
45 local_part_suffix_optional
0bb008e061f4 Mention how recipient_delimiter is done in Exim
mmj
parents: 261
diff changeset
46
315
564caf17f59c README exim comments and sanity check in mlmmj-maintd
mmj
parents: 314
diff changeset
47 to the "userforward:" and the "localuser:" router in /etc/exim/exim.conf,
323
ef48b0eb6d75 TADAAAA. Drumroll please. 1.0.0 preparation commit
mmj
parents: 315
diff changeset
48 and also add "local_part_suffix = +*" to the system_aliases function. Also
ef48b0eb6d75 TADAAAA. Drumroll please. 1.0.0 preparation commit
mmj
parents: 315
diff changeset
49 make sure that exim will add the envelope from in the Return-Path: header.
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
50
323
ef48b0eb6d75 TADAAAA. Drumroll please. 1.0.0 preparation commit
mmj
parents: 315
diff changeset
51 There is a nice FAQ explaining recipient delimiter configuration here:
ef48b0eb6d75 TADAAAA. Drumroll please. 1.0.0 preparation commit
mmj
parents: 315
diff changeset
52
ef48b0eb6d75 TADAAAA. Drumroll please. 1.0.0 preparation commit
mmj
parents: 315
diff changeset
53 http://faqs.org/faqs/mail/addressing/
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
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
40c505c297f5 README and logging of discarded From: emails
mmj
parents: 526
diff changeset
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
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
62 a mailinglist for mlmmj. It is highly recommended to use this script to make
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
63 the lists! What is does is described here:
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
64
210
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
65 In the case of a list called mlmmj-test below /var/spool/mlmmj it makes the
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
66 following directories:
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
67
210
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
68 /var/spool/mlmmj/mlmmj-test/incoming
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
69 /var/spool/mlmmj/mlmmj-test/queue
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
70 /var/spool/mlmmj/mlmmj-test/queue/discarded
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
71 /var/spool/mlmmj/mlmmj-test/archive
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
72 /var/spool/mlmmj/mlmmj-test/text
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
73 /var/spool/mlmmj/mlmmj-test/subconf
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
74 /var/spool/mlmmj/mlmmj-test/unsubconf
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
75 /var/spool/mlmmj/mlmmj-test/bounce
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
76 /var/spool/mlmmj/mlmmj-test/control
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
77 /var/spool/mlmmj/mlmmj-test/moderation
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
78 /var/spool/mlmmj/mlmmj-test/subscribers.d
366
7d6c9bb6168f Warning fixes and release prep
mmj
parents: 338
diff changeset
79 /var/spool/mlmmj/mlmmj-test/digesters.d
7d6c9bb6168f Warning fixes and release prep
mmj
parents: 338
diff changeset
80 /var/spool/mlmmj/mlmmj-test/nomailsubs.d
210
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
81 /var/spool/mlmmj/mlmmj-test/requeue
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
82
286
141f6c21e09a 0.8.2 stuff
mmj
parents: 280
diff changeset
83 NOTE: The mailinglist directory (/var/spool/mlmmj/mlmmj-test in our
141f6c21e09a 0.8.2 stuff
mmj
parents: 280
diff changeset
84 example) have to be owned by the user the mailserver writes as. On some
141f6c21e09a 0.8.2 stuff
mmj
parents: 280
diff changeset
85 Postfix installations Postfix is run by the user postfix, but still writes
141f6c21e09a 0.8.2 stuff
mmj
parents: 280
diff changeset
86 files as nobody:nogroup or nobody:nobody
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
87
210
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
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
21ce01de8109 Initial revision
mmj
parents:
diff changeset
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
21ce01de8109 Initial revision
mmj
parents:
diff changeset
92
210
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
93 NOTE: Don't forget newaliases.
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
94
210
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
95 4) Start mlmmj-maintd (remember full path when starting it!) or add it to
216
cec96ecd796c More memory debugging, and small bugfixes
mmj
parents: 210
diff changeset
96 crontab with -F switch. The recommended way for now is to run it via cron:
209
c7728653110e Furhter README updates
mmj
parents: 203
diff changeset
97
210
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
98 "0 */2 * * * /usr/bin/mlmmj-maintd -F -L /var/spool/mlmmj/mlmmj-test"
209
c7728653110e Furhter README updates
mmj
parents: 203
diff changeset
99
286
141f6c21e09a 0.8.2 stuff
mmj
parents: 280
diff changeset
100 It should be started as root, as mlmmj-maintd will become the user owning
141f6c21e09a 0.8.2 stuff
mmj
parents: 280
diff changeset
101 the listdir (/var/spool/mlmmj/mlmmj-test), and log it's last maintenance
141f6c21e09a 0.8.2 stuff
mmj
parents: 280
diff changeset
102 run to listdir/mlmmj-maintd.lastrun.log.
141f6c21e09a 0.8.2 stuff
mmj
parents: 280
diff changeset
103
366
7d6c9bb6168f Warning fixes and release prep
mmj
parents: 338
diff changeset
104 If you have several lists below /var/spool/mlmmj you can use -d:
7d6c9bb6168f Warning fixes and release prep
mmj
parents: 338
diff changeset
105 /usr/bin/mlmmj-maintd -F -d /var/spool/mlmmj
185
f92879537344 Prep for 0.6.0 and small debug info removal etc.
mmj
parents: 131
diff changeset
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
39881695c4cf Correct command for deeply nested listdirs
Ben Schmidt
parents: 752
diff changeset
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
ef48b0eb6d75 TADAAAA. Drumroll please. 1.0.0 preparation commit
mmj
parents: 315
diff changeset
112 That's it! You probably want to go through the next steps too.
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
113
210
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
114 5) Subscribe some people
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
115
210
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
116 /usr/bin/mlmmj-sub -L /var/spool/mlmmj/mlmmj-test/ -a joe@domain.tld
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
117
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
118 etc.
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
119
210
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
120 6) If you want custom headers like X-Mailinglist, Reply-To: etc. just add a
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
121 file called 'customheaders' in the list control/ directory like this:
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
122 $ cat /var/spool/mlmmj/mlmmj-test/control/customheaders
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
123 X-Mailinglist: mlmmj-test
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
124 Reply-To: mlmmj-test@domain.tld
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
125
210
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
126 7) If you want every mail to have something like:
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
127 --
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
128 To unsubscribe send a mail to coollist+unsubscribe@lists.domain.net
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
129
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
130 Just add what you want to a file named "footer" in the same dir as
914
bb4a7a82dbcc Fix typo in README.
Ben Schmidt
parents: 912
diff changeset
131 "customheaders" (listdir/control/).
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
132
210
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
133 8) If you want a prefix on the subject, to make it look like this:
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
134 Subject: [mlmmj-test] how are we doing?
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
135 Simply do 'echo "[mlmmj-test]" > control/prefix
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
136
210
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
137 9) For having a moderated list, simply create a file called 'moderated' in the
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
138 control/ directory. Moderators are added to a file called 'moderators' in
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
139 the control/ dir as well.
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
140
210
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
141 10) Have a look at the file TUNABLES for runtime configurable things.
92
4f0104f5a343 0.5.1 README
mmj
parents: 86
diff changeset
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
a0e7464ec2b3 Alpha release 1.2.18a1.
Ben Schmidt
parents: 760
diff changeset
144 · There's some time intervals for how mlmmj-maintd operates. I've chosen
185
f92879537344 Prep for 0.6.0 and small debug info removal etc.
mmj
parents: 131
diff changeset
145 non-strict defaults, so depending on your BOFH rate you might want to tweak.
210
fd0ee1218436 Updates
mmj
parents: 209
diff changeset
146 The defaults should be good for most people though.
0
21ce01de8109 Initial revision
mmj
parents:
diff changeset
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
21ce01de8109 Initial revision
mmj
parents:
diff changeset
149
32
80d78590635e Adjust ChangeLog and README to pending 0.3.2 release
mmj
parents: 0
diff changeset
150 Mads Martin Joergensen <mmj at mmj dot dk>
80d78590635e Adjust ChangeLog and README to pending 0.3.2 release
mmj
parents: 0
diff changeset
151 Morten K. Poulsen <morten at afdelingp dot dk>
865
a0e7464ec2b3 Alpha release 1.2.18a1.
Ben Schmidt
parents: 760
diff changeset
152 Ben Schmidt <mail_ben_schmidt at yahoo dot com dot au>