R2E(1)

NAME
r2e - receive RSS feeds by email

SYNOPSIS
r2e [options] <command> [<args>]

DESCRIPTION
r2e is a simple program which you can run in your crontab(5). It watches RSS feeds and sends you nicely formatted email message for each new item.

For a quick start with r2e try these steps:

        r2e new your@yourdomain.com
        r2e add feedname http://feed.url/somewhere.rss
        r2e run

The last command should eventually be put into your crontab if you want things be sent you automatically.

OPTIONS

-h, --help
    Print the rss2email help and exit.

-v, --version
    Print the rss2email version and exit.

--full-version
    Print the versions of Python, the compiler used to compile Python, and packages used by rss2email.

-c, --config <path>
    The program configuration is read from $XDG_CONFIG_HOME/rss2mail.cfg by default (see also FILES and ENVIRONMENT VARIABLES below). Use this option to set a different configuration file.

-d, --data <path>
    Dynamic program data is read from $XDG_DATA_HOME/rss2mail.json by default (see also FILES and ENVIRONMENT VARIABLES below). Use this option to set a different data file.

-V, --verbose
    Increment the logging verbosity.

COMMANDS

new [<email>]
    Create a new feed database. If the <email> argument is given, it sets the default email address that mails are sent to.

email [<email>]
    Update the default target email address to <email>.

add <name> <url> [<email>]
    Subscribe to a feed. The <name> argument gives the feed a name for future manipulation. <url> is the URL of the feed. The optional <email> argument is the email address to send new items to, overriding the default address for this particular feed. Repeat for each feed you want to subscribe to.

run [--no-send] [<index> [<index> ...]]
    Scan the feeds and send emails for new items. This can be run in a cron job.

    The --no-send option stops r2e from sending any email. This can be useful the first time you run it, as otherwise it would send an email for every available feed entry.

    If an <index> is specified, r2e will only download that feed. <index> can be either the feed name (as set by add) or the feed index (as shown by list).

list
    List all the feeds in the database.

pause [<index> [<index> ...]]
    Pause feeds (disable fetching). The <index> option selects the feed(s) to pause (see run for possible values). If no <index> is given, all feeds are paused.

unpause [<index> [<index> ...]]
    Unpause feeds (enable fetching).

delete <index> [<index> [<index> ...]]
    Remove a feed (or feeds) from the database. The <index> option selects the feed(s) to delete (see run for possible values).

reset [<index> [<index> ...]]
    Forget dynamic feed data (e.g. to re-send old entries). The <index> option selects the feed(s) to reset (see run for possible values). If no <index> is given, all feeds are reset.

opmlimport [<path>]
    Import new feeds from OPML. <path> is the file from which the OPML data will be read. If <path> is not given r2e reads the data from stdin.

opmlexport [<path>]
    Export all feeds to OPML. <path> is the file to which the OPML data will be written. If <path> is not given r2e writes the data to stdout.

CONFIGURATION
The program's behavior can be controlled via the $XDG_CONFIG_HOME/rss2email.cfg (see also FILES and ENVIRONMENT VARIABLES below). The file format is similar to a Microsoft Windows INI file. It is parsed by Python's ConfigParser class, so see the Python documentation at http://docs.python.org/3/library/configparser.html for format details.

The config file stores general configuration (applied to all feeds) in the [DEFAULT] section. The new command will create a configuration file for you, which you can edit as you see fit. The add command will add feed-specific sections. To override any a setting for all feeds, change the value in the [DEFAULT] section. To override a setting for a particular feed, add that setting to the feed-specific section. Here is an example overriding use-publisher-email and name-format for the feedname feed.

        [DEFAULT]
        from = user@rss2email.invalid
        force-from = False
        use-publisher-email = False
        name-format = {feed-title}: {author}
          ...
        verbose = warning
        [feed.feedname]
        url = http://feed.url/somewhere.rss
        use-publisher-email = True
        name-format = {author} ({feed.title})

You can configure the following items:

  Addressing

from
    The email address messages are from by default

use-8bit
    Transfer-Encoding. For local mailing it is safe and convenient to use 8bit.

force-from
    True: Only use the 'from' address. False: Use the email address specified by the feed, when possible.

use-publisher-email
    True: Use the publisher's email if you can't find the author's. False: Just use the 'from' email instead.

name-format
    If empty, only use the feed email address rather than friendly name plus email address. Available attributes may include 'feed', 'feed-name', 'feed-url', 'feed-title', 'author', and

to  Set this to default To email addresses.

  Fetching

proxy
    Set an HTTP proxy (e.g. 'http://your.proxy.here:8080/')

feed-timeout
    Set the timeout (in seconds) for feed server response

  Processing

active
    True: Fetch, process, and email feeds. False: Don't fetch, process, or email feeds

digest
    True: Send a single, multi-entry email per feed per rss2email run. False: Send a single email per entry.

date-header
    True: Generate Date header based on item's date, when possible. False: Generate Date header based on time sent.

date-header-order
    A comma-delimited list of some combination of ('issued', 'created', 'modified', 'expired') expressing ordered list of preference in dates to use for the Date header of the email.

bonus-header
    Set this to add bonus headers to all emails Example: bonus-header = 'Approved: joe@bob.org'

trust-guid
    True: Receive one email per post. False: Receive an email every time a post changes.

trust-link
    True: Receive one email per unique link url. False: Defer to trust-guid preference. Toggling this for existing feeds may result in duplicates, because the old entries will not be recorded under their new link-based ids.

encodings
    To most correctly encode emails with international characters, we iterate through the list below and use the first character set that works.

post-process
    User processing hooks. Note the space after the module name. Example: post-process = 'rss2email.post_process.downcase downcase_message'

digest-post-process
    User processing hooks for digest messages. If 'digest' is enabled, the usual 'post-process' hook gets to message the per-entry messages, but this hook is called with the full digest message before it is mailed. Example: digest-post-process = 'rss2email.post_process.downcase downcase_message'

  HTML conversion

html-mail
    True: Send text/html messages when possible. False: Convert HTML to plain text.

use-css
    Use CSS

css Optional CSS styling

  html2text options

unicode-snob
    Use Unicode characters instead of their ascii psuedo-replacements

links-after-each-paragraph
    Put the links after each paragraph instead of at the end.

body-width
    Wrap long lines at position. Any negative value for no wrapping, 0 for 78 width (compatibility), or any positive width.

  Mailing

email-protocol
    Select protocol from: sendmail, smtp, imap, maildir

sendmail
    Path to sendmail (or compatible)

user-agent
    String to use as User-Agent in outgoing emails. If present, __VERSION__ and __URL__ are replaced with rss2email version number and webpage

  SMTP configuration

smtp-auth
    Set to True to use SMTP AUTH

smtp-username
    username for SMTP AUTH

smtp-password
    password for SMTP AUTH

smtp-server
    SMTP server

smtp-ssl
    Connect to the SMTP server using SSL

smtp-ssl-protocol
    TLS/SSL version to use on STARTTLS when not using 'smtp-ssl'.

  IMAP configuration

imap-auth
    set to True to use IMAP auth.

imap-username
    username for IMAP authentication

imap-password
    password for IMAP authentication

imap-server
    IMAP server

imap-port
    IMAP port

imap-ssl
    connect to the IMAP server using SSL

imap-mailbox
    where we should store new messages

  Maildir configuration

maildir-path
    Path of maildir to write messages into

maildir-mailbox
    Mailbox within maildir-path to write messages into

  Miscellaneous

verbose
    Verbosity (one of 'error', 'warning', 'info', or 'debug').

FILES

$XDG_CONFIG_HOME/rss2email.cfg
    If this file exists, it is read to configure the program.

$XDG_DATA_HOME/rss2email.json
    The database of feeds. Use r2e to add, remove, or modify feeds, do not edit it directly.

ENVIRONMENT VARIABLES
The environment variables used by r2e are all defined in the XDG Base Directory Specification, which aims to standardize locations for user-specific configuration and data files.

XDG_CONFIG_HOME
    The preferred directory for configuration files. Defaults to $HOME/.config.

XDG_DATA_HOME
    The preferred directory for data files. Defaults to $HOME/.local/share.

XDG_CONFIG_DIRS
    A colon ':' separated, preference ordered list of base directories for configuration files in addition to $XDG_CONFIG_HOME. Defaults to /etc/xdg. If multiple configuration files are found in this path, they will all be read by the ConfigParser class (see also CONFIGURATION above).

XDG_DATA_DIRS
    A colon ':' separated, preference ordered list of base directories for data files. Defaults to /usr/local/share/:/usr/share/. Only the first matching file is used.

AUTHORS
rss2email was started by Aaron Swartz, and is currently maintained by a group of people. For a more complete list of contributors, see the AUTHORS file in the rss2email distribution.

REPORTING BUGS
Report bugs by creating an issue at https://github.com/rss2email/rss2email.