Most RSS feed readers will keep a cache of downloaded
articles for a user-defined amount of time. In NetNewsWire which I use, I
can set article expiry in the program’s preferences. In spite of having that
functionality, there are some feeds that I want to archive for ever, and I’d
like to have access to the article from wherever I am located. Additionally,
I’d love to be able to access this archive with a simple mail client. To this
effect, I want certain feeds stored on an IMAP server. If I search for rss to
imap or any similar query, there is a mass of software and solutions that
turn up, but the best program I have found to date is Newspipe, an Open
Source tool which is very easy to use and extremely flexible at that.
Newspipe is fed an OPML file with a twist, and it then grabs the
feeds on a regular basis, or when I want it to, and produces SMTP messages
which are then submitted to my mail server. The twist on the OPML file is
that Newspipe recognizes special attributes in the OPML outline entries
which cause it to handle a feed in a special way. By the way, many feed
readers can export an OPML file of my feeds on request, and I can use that as
a starting point for Newspipe. For example, certain feeds (such as the one
on this site) have a short text–only representation of the post. If so
desired, I can tell Newspipe to go and get the actual page, and it will
download the page and all images to create a full MIME message representing
the page, sending that off via SMTP to my account. This feature should be used
with care, as the messages can become quite large. This is a sample of a
textual message as rendered by Thunderbird
and here
is the same RSS feed entry as viewed when the referring page is downloaded by
Newspipe:
(Please note that these screen shots are not
taken from Thunderbird’s built-in RSS feed reader, but rather as seen by
Thunderbird’s IMAP client.) Newspipe is controlled by a small
.ini
file
and by attributes in the OPML entries, as described above. It runs on any
platform that has Python and it is well documented. By default,
Newspipe runs for ever when started; I changed this behaviour in the
configuration, because I execute the program every few hours via cron,
so I set sleep_time=0
.