blob: f84e93557f6d547cb3c7cfe4304adf2476ee5782 (plain
Unsubscribe endpoints for mlmmj users (and possibly Mailman, too)
* examples/unsubscribe.milter filters outgoing messages
and appends an HTTPS URL to the List-Unsubscribe header.
This List-Unsubscribe header should point to the PSGI
Currently, this is only active for a whitelist of test
addresses in /etc/unsubscribe-milter.whitelist
with one email address per line.
* examples/unsubscribe.psgi is a PSGI which needs to run
as the mlmmj user with permission to run mlmmj-unsub.
This depends on the PublicInbox::Unsubscribe module
which may be extracted from the rest of public-inbox.
It is strongly recommended to NOT run the rest of the
public-inbox WWW code in the same process as this PSGI.
(The public-inbox WWW code will never need write
permissions to anything besides stderr).
* Both the .milter and .psgi examples are bundled with
systemd service and socket activation examples.
AFAIK no other PSGI server besides public-inbox-httpd
supports systemd socket activation.
To wire up the milter for postfix, I use the following
# Milter configuration
milter_default_action = accept
milter_protocol = 2
# other milters may be chained here (e.g. opendkim)
# chroot users will need to adjust this path
smtpd_milters = local:/var/spool/postfix/unsubscribe/unsubscribe.sock
# This is not needed for mlmmj since mlmmj uses SMTP:
# non_smtpd_milters = local:/var/spool/postfix/unsubscribe/unsubscribe.sock
Copyright (C) 2016-2020 all contributors <firstname.lastname@example.org>
License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>