Converts email newsletters to static HTML pages and an Atom feed.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Jacob Kiers 9f815f3f9c
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
Release version 0.2.3
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
3 months ago
.cargo Build with rust v1.66 and cross v0.2.4 3 months ago
resources Add style sheet to the feed 3 months ago
src Update dependencies with contributions 3 months ago
systemd Add systemd deployment example 7 months ago
.drone.jsonnet Add update subcommand 3 months ago
.gitignore Ignore more directories 8 months ago
CHANGELOG.md Release version 0.2.3 3 months ago
Cargo.lock Release version 0.2.3 3 months ago
Cargo.toml Release version 0.2.3 3 months ago
README.md Add link to releases page 3 months ago

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)?