Tree @master (Download .tar.gz)
remailer
A PGP-enforcing newsletter implementation
remailer
is a newsletter implementation that relies on PGP signatures for authentication.
For the sender, posting to the newsletter is absolutely transparent: compose an email, sign it, send it.
The subscriber gets the usual mailing list options: subscribe, verify subscription, unsubscribe, subscription details, as well as transparent sender verification via PGP/GPG.
To use it on your webserver, you need to do the following:
- Copy
remailer.cfg.sample
toremailer.cfg
and edit it according to your needs; - Copy the
sample
directory to the list's name and edit the contents to reflect your list's properties. - Add the PGP keys of the persons allowed to post to the keyring you have referenced in
remailer.cfg
; - Add the
From:
string of the person allowed to post to thelist_owner
key in the configuration file; - Create a mail filter which pipes incoming messages for the newsletter to the
remailer.py
script. Examples for EXIM:
On private hosting, with a dedicated remailer
user
In /etc/aliases
:
list: remailer
list-request: remailer
In /home/remailer/.forward
(or equivalent):
# Exim filter
if not delivered then
pipe "/path/to/remailer.py"
endif
On private hosting, without a dedicated remailer
user
In /etc/aliases
:
list: |/path/to/remailer.py
list-request: |/path/to/remailer.py
Since it's not immediately obvious which user ends up running that script, make sure to test your configuration to get your file permissions right.
For a shared hosting environment
In your .forward
:
# Exim filter
if $local_part is "list" or $local_part is "list-request" then
pipe "/path/to/remailer.py"
endif
User management
To subscribe to the newsletter, have the user send an email with the subject "subscribe" to the list-request address. They will receive a verification email to which they will need to reply.
To unsubscribe, have the user send an email with the subject "unsubscribe" to the list-request address.
To see the details of their subscription, have the user send an email with the subject "details" to the list-request address.
Invalid emails (those with unrecognized commands or from unauthorized senders) are saved in the script's working directory for future examination.
Other Notes
This program is free software, released under the Apache License, Version 2.0. See the LICENSE file for more information.
The program's canonical project page resides at https://simonvolpert.com/remailer/
I gratefully accept appreciation for my work in material form at bitcoincash:qr9mj4r9sq3urkjl6hhspeyjj62l3k3mzckaqq0kj8.
Commit History
@master
git clone https://simonvolpert.com/remailer/
- Migrate the project off GitHub Simon Volpert 6 years ago
- Format sections as headers in README Simon Volpert 6 years ago
- Make the tip link bold to work around a GitHub markdown engine bug Simon Volpert 6 years ago
- Update donation link in the README; Add project URL to the executable Simon Volpert 6 years ago
- Add a LICENSE and a README Simon Volpert 7 years ago
- Prune other confusing headers from the source email and use explicit addressing in sendmail Simon Volpert 8 years ago
- Move panic() up to allow using it earlier during config parsing Simon Volpert 8 years ago
- Use Python 2 specifically Simon Volpert 8 years ago
- Migrated to git; Previous versioning info unavailable. Simon Volpert 8 years ago