Tree @master (Download .tar.gz)
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:
remailer.cfgand edit it according to your needs;
- Copy the
sampledirectory 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
- Add the
From:string of the person allowed to post to the
list_ownerkey in the configuration file;
- Create a mail filter which pipes incoming messages for the newsletter to the
remailer.pyscript. Examples for EXIM:
On private hosting, with a dedicated
list: remailer list-request: remailer
/home/remailer/.forward (or equivalent):
# Exim filter if not delivered then pipe "/path/to/remailer.py" endif
On private hosting, without a dedicated
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
# Exim filter if $local_part is "list" or $local_part is "list-request" then pipe "/path/to/remailer.py" endif
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.
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.
git clone https://simonvolpert.com/remailer/
- Migrate the project off GitHub Simon Volpert 1 year, 3 months ago
- Format sections as headers in README Simon Volpert 1 year, 10 months ago
- Make the tip link bold to work around a GitHub markdown engine bug Simon Volpert 1 year, 10 months ago
- Update donation link in the README; Add project URL to the executable Simon Volpert 1 year, 10 months ago
- Add a LICENSE and a README Simon Volpert 2 years ago
- Prune other confusing headers from the source email and use explicit addressing in sendmail Simon Volpert 3 years ago
- Move panic() up to allow using it earlier during config parsing Simon Volpert 3 years ago
- Use Python 2 specifically Simon Volpert 3 years ago
- Migrated to git; Previous versioning info unavailable. Simon Volpert 3 years ago