1 Unsubscribe endpoints for mlmmj users (and possibly Mailman, too)
3 * examples/unsubscribe.milter filters outgoing messages
4 and appends an HTTPS URL to the List-Unsubscribe header.
5 This List-Unsubscribe header should point to the PSGI
7 Currently, this is only active for a whitelist of test
8 addresses in /etc/unsubscribe-milter.whitelist
9 with one email address per line.
11 * examples/unsubscribe.psgi is a PSGI which needs to run
12 as the mlmmj user with permission to run mlmmj-unsub.
13 This depends on the PublicInbox::Unsubscribe module
14 which may be extracted from the rest of public-inbox.
15 It is strongly recommended to NOT run the rest of the
16 public-inbox WWW code in the same process as this PSGI.
17 (The public-inbox WWW code will never need write
18 permissions to anything besides stderr).
20 * Both the .milter and .psgi examples are bundled with
21 systemd service and socket activation examples.
22 AFAIK no other PSGI server besides public-inbox-httpd
23 supports systemd socket activation.
25 To wire up the milter for postfix, I use the following
26 in /etc/postfix/main.cf:
28 # Milter configuration
29 milter_default_action = accept
32 # other milters may be chained here (e.g. opendkim)
33 # chroot users will need to adjust this path
34 smtpd_milters = local:/var/spool/postfix/unsubscribe/unsubscribe.sock
36 # This is not needed for mlmmj since mlmmj uses SMTP:
37 # non_smtpd_milters = local:/var/spool/postfix/unsubscribe/unsubscribe.sock
39 Copyright (C) 2016-2021 all contributors <meta@public-inbox.org>
40 License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>