Skip to content

Robert-van-Barlingen/rss2newsletter

 
 

Repository files navigation

rss2newsletter

Freely send newsletters 100x cheaper via Amazon SES

rss2newsletter turns any RSS/Atom feed into a fully automated email newsletter with minimal setup. The project aims to be a minimalist's 100% free and open source alternative to Mailchimp's RSS-to-Email. Switching from Mailchimp could easily save you tens to hundreds or even thousands of dollars per month depending on your send volume. rss2newsletter intergrates with listmonk to send emails (which works with Amazon SES).

rss2newsletter supports all the features you need to create appealing email newsletters including automated grabbing of a content image using your website's OpenGraph metadata. rss2newsletter + listmonk are also incredibly portable & lightweight, so there are no minimum system requirements for having them operate at full capacity 24/7 on any computer (unlike heavyweight proprietary solutions).

Common RSS feed sources you can turn into an email newsletter includes... your personal/team blog (virtually all blogging platforms produce RSS feeds by default), social media accounts/topics, news websites, and much more! Please only use rss2newsletter to deliver email that you would want in your inbox (e.g. notifying subscribers of new high effort content; no spam).

Get Started

  1. Download listmonk
    • The listmonk server comes as a single binary that you can start in one command (set up with a provider like Amazon SES later)
  2. Get rss2newsletter: pip3 install rss2newsletter
    • Ensure you already have Python installed
    • If you prefer to use your system package manager then Git clone this repo and run the install.sh script
  3. Create rss2newsletter's configuration file and design your email with the newsletter template file
  4. Run rss2newsletter to start creating campaigns and sending out emails!

Usage

$ rss2newsletter --help

               d88b                             8        w    w
8d8b d88b d88b " dP 8d8b. .d88b Yb  db  dP d88b 8 .d88b w8ww w8ww .d88b 8d8b
8P   `Yb. `Yb.  dP  8P Y8 8.dP'  YbdPYbdP  `Yb. 8 8.dP'  8    8   8.dP' 8P
8    Y88P Y88P d888 8   8 `Y88P   YP  YP   Y88P 8 `Y88P  Y8P  Y8P `Y88P 8
... by @ElliotKillick

usage: rss2newsletter.py [-h] [-c CONFIG]

Convert an RSS feed to email newsletters

options:
  -h, --help            show this help message and exit
  -c CONFIG, --config CONFIG
                        Program configuration file
                        (default: rss2newsletter.conf)

Supported RSS tags in the newsletter template

You can design your own newsletter template by modifying the newsletter template file. Certain keywords in the template are automatically replaced by their corresponding RSS tags.

template keyword RSS tag
LINK_HERE link
TITLE_HERE title
SUMMARY_HERE description
PUBLISHED_HERE pubdate
CONTENT_HERE content
AUTHOR_NAME_HERE author (name)
AUTHOR_EMAIL_HERE author (email)
TAGS_HERE category (as comma separated string)
MEDIA_HERE media (url)

Support the Author

If you choose to host on a VPS, feel free to support the rss2newsletter author through one of my affiliate links (only one at the moment):

BuyVM

BuyVM has some of the most competitive prices on the market for small VPSs. Thank you!!

License

AGPL License - Copyright (C) 2024 Elliot Killick [email protected]

Why copyleft? I usually publish under a permissive open source license but there are too many proprietary email marketing solutions. Contact me if your company requires an alternative license.

About

Convert RSS/Atom feed to email newsletters

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 91.8%
  • HTML 4.6%
  • Shell 2.3%
  • Dockerfile 1.3%