Converts email newsletters to static HTML pages and an Atom feed.
Go to file
Jacob Kiers 6859de9f7d
continuous-integration/drone/push Build is passing Details
Use prebuilt image
Signed-off-by: Jacob Kiers <code@kiers.eu>
2023-06-10 15:25:14 +02:00
.cargo Build with rust v1.66 and cross v0.2.4 2022-12-16 18:42:38 +01:00
resources Add style sheet to the feed 2022-12-27 22:59:45 +01:00
scripts Update build to use zigbuild instead of cross 2023-06-10 14:17:29 +02:00
src Split message readers into their own files 2023-06-10 10:04:22 +02:00
systemd Add protection features to service definition 2023-06-10 10:04:22 +02:00
.drone.jsonnet Use prebuilt image 2023-06-10 15:25:14 +02:00
.gitignore Ignore more directories 2022-08-06 23:00:57 +02:00
CHANGELOG.md Add protection features to service definition 2023-06-10 10:04:22 +02:00
Cargo.lock Update all cargo dependencies 2023-06-10 10:04:22 +02:00
Cargo.toml Update all cargo dependencies 2023-06-10 10:04:22 +02:00
README.md Add link to releases page 2022-12-27 12:27:27 +01:00

README.md

Newsletter to Web

Converts a newsletter to and Atom feed and static HTML files.

Usage

Get the latest release from the releases page.

Getting help

For help, use

  • newsletter-to-web help
  • newsletter-to-web help <subcommand>.

Basic usage

First, download all messages from the IMAP mail server and store them in the data/ directory:

newsletter-to-web fetch-from-imap -s <imap.example.com> -u <email@example.com> -p <password>

Then, convert them to an Atom feed, using newsletters.example.com as the base domain:

newsletter-to-web --include-html build-feed newsletters.example.org

This will put the output in the output/ directory. The Atom feed will be in output/feed.xml, together with a very simple index.html file pointing to the feed. It will also add an HTML file for every email with the HTML content.

The feed will already contain the full HTML, so it can easily be read from a feed reader.

Features

Receive email

  • IMAP integration
  • Direct feeding of email message
  • Read from Maildir
  • Read from MBOX

Convert email to HTML

  • Generate static HTML files
  • Parse and add unsubscribe link
  • Where possible: remove tracking pixels / images
  • Prevent loading of scripts / images without user interaction

Create ATOM feed

  • Single feed for everything
  • One feed per newsletter
  • Index feed (containing all newsletters)?