Crates.io | rss2email |
lib.rs | rss2email |
version | 2.1.0 |
source | src |
created_at | 2022-10-21 22:15:30.260134 |
updated_at | 2024-03-07 19:54:58.62527 |
description | An RSS feed aggregator that notifies you of new posts via email. |
homepage | |
repository | https://github.com/AntoniosBarotsis/Rss2Email |
max_upload_size | |
id | 693966 |
size | 248,350 |
A small program capable of aggregating content from multiple RSS/Atom feeds and mailing them to you in a practical summary email. Keep track of your favorite blogs that don't feature an update newsletter or similar service.
You'll need Rust or Docker installed to compile this software.
Each release automatically publishes Docker images for x86 and arm on DockerHub. Note that these can only run on AWS Lambda. If you want to run them elsewhere through Docker, read here.
Alternatively, you can build this from source. Clone this repository and run:
cargo build --release
Check out the build from source section of the wiki for more information.
Rss2email requires some environment variables to work. These can be provided either in your
shell or as entries in a .env
file.
EMAIL_ADDRESS
: the mail address you will use to send the emailsRECIPIENT_ADDRESSES
: comma delimited list of recipient email addressesSUBJECT
: the email subject (could be rss2email
). Including $POST_COUNT
in your subject will
have it replaced with the number of posts fetched. For example SUBJECT=rss2email - $POST_COUNT new posts
DAYS
: this value indicates up to how many days in the past we go to search for entriesFEEDS
: a list of semicolon-separated feed URLs."https://blog.rust-lang.org/feed.xml;https://www.linux.org/articles/index.rss"
EMAIL
(optional, defaults to SendGrid
): Which provider to use to send the email.API_KEY
(optional): Your email provider's authentication key.SKIP_IF_NO_NEW_POSTS
(optional): Whether an email should be sent if the number of posts fetched is 0.More details are available in the Running the code wiki section.
Running the code in debug mode won't send any emails and will instead output the generated HTML in the console.
cargo run
It is recommended to try this out first and make sure that all your feeds and config variables are correctly set up.
Running the project in release mode will send the emails
./target/release/Rss2email
# or
cargo run --release
Thanks for considering contributing!
Read this.