rss2email
Send RSS feed updates via email
TLDR
List all feeds
Convert RSS entries to email
Add a feed
Add a feed with a specific email address
Delete a specific feed
Display help
SYNOPSIS
rss2email [options] [command] [arguments]
PARAMETERS
--config=<path>
Specify an alternative configuration file path. Defaults to ~/.rss2email/config.py.
--email-field=<field>
Override the default email field (e.g., 'To', 'From', 'Subject') for generated emails.
--html-email
Force sending emails in HTML format, even if not explicitly configured for the feed.
--full-text
Attempt to extract the full text of articles from linked pages, rather than just the feed's summary. Requires the readability-lxml Python library.
--template=<path>
Specify a custom Jinja2 template file for rendering email content.
--dry-run
Process feeds and show what emails would be sent, but do not actually send them. Useful for testing configurations.
--log-level={debug|info|warning|error|critical}
Set the verbosity level for logging output.
--verbose
Provide more detailed output during execution.
--debug
Enable debug mode, which typically provides extensive diagnostic output.
--force
Force processing even if errors or warnings are encountered, or re-send previously sent items.
-v, --version
Display the program's version number and exit.
-h, --help [command]
Display a help message for the main command or a specific subcommand.
DESCRIPTION
rss2email is a versatile command-line utility that converts content from RSS and Atom feeds into email messages. It's designed for users who prefer to consume their news, blog updates, or other subscribed content directly in their email client rather than using a dedicated feed reader. The tool periodically checks specified feeds for new entries, formats each new item as an individual email, and then sends these emails via a local Mail Transfer Agent (MTA) like Postfix or Sendmail. This allows for integration with existing email workflows, enabling users to leverage their email client's features for sorting, searching, and archiving feed content. It's particularly useful for automated alerts, monitoring specific topics, or keeping up with frequently updated sources without constantly checking a web interface.
CAVEATS
rss2email relies on a properly configured local Mail Transfer Agent (MTA) such as Postfix or Sendmail to send emails. Without an MTA, emails will not be delivered. Care must be taken with configuration, especially regarding email addresses, to prevent potential spam issues. While it can fetch full text, this feature's reliability depends on the website's structure and the effectiveness of the underlying readability-lxml library. Large numbers of feeds or frequent polling might consume significant system resources.
<B>TYPICAL USAGE WORKFLOW</B>
A typical workflow involves first initializing a configuration directory with rss2email init. Then, feeds are added using rss2email add <URL>. To process and send emails for new entries, the rss2email run command is executed, usually scheduled periodically via a cron job.
<B>SUBCOMMANDS OVERVIEW</B>
Beyond the global options, rss2email operates through a series of subcommands, each performing a specific task:
- init: Creates the configuration directory and default config.py file.
- add <URL>: Adds a new feed to be monitored. Accepts feed-specific options like --full-text or --html-email.
- run: Checks all configured feeds for new entries and sends emails for them.
- list: Displays all currently configured feeds and their unique IDs.
- delete <ID>: Removes a feed using its numeric ID.
- config <key> [<value>]: Used to get or set configuration variables in the config.py file.
<B>CONFIGURATION</B>
rss2email uses a Python-based configuration file (default: ~/.rss2email/config.py) for its settings. This file allows for extensive customization, including the default email recipient (R2E_EMAIL_ADDRESS), sender, subject line formatting, HTML vs. plain text output, and more. It can be edited directly using a text editor or managed conveniently via the rss2email config subcommand.
HISTORY
Developed as a Python script, rss2email emerged as a solution for users who preferred to integrate their RSS/Atom feed consumption into their existing email workflows. Its development predates the widespread adoption of dedicated web-based feed readers, offering a flexible, command-line driven alternative. It has undergone various iterations, adapting to changes in Python and feed standards, maintaining its utility for automated content delivery.