Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rcarmo/rss2imap
An adaptation of rss2mail that uses IMAP directly
https://github.com/rcarmo/rss2imap
Last synced: 3 months ago
JSON representation
An adaptation of rss2mail that uses IMAP directly
- Host: GitHub
- URL: https://github.com/rcarmo/rss2imap
- Owner: rcarmo
- Created: 2013-03-15T10:27:25.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2022-01-13T16:17:08.000Z (about 3 years ago)
- Last Synced: 2024-10-18T05:23:43.232Z (3 months ago)
- Language: Python
- Size: 755 KB
- Stars: 86
- Watchers: 9
- Forks: 13
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
- starred-awesome - rss2imap - An adaptation of rss2mail that uses IMAP directly (Python)
README
rss2imap
========An adaptation of rss2email that uses IMAP directly.
# What does it look like?
Well, with the shipping CSS in `config.py`, it looks like this:
## What about mobile?
Well, it works fine with the Gmail app on both Android and iOS, as well as the native IMAP clients:
As long as you sync, all the text will be available off-line (images are cached at the whim of the MUA).
The Gmail app ignores CSS and may have weird behaviors with long bits of text, though.
# Main Features:
* *NEW:* Automatically file away messages read after one day instead of on every run
* Optional (naive) summarization of news items at the top of each item (see `SUMMARIZE` setting)
* E-mail is injected directly via IMAP (so no delays or hassles with spam filters)
* Feeds can be grouped into IMAP folders -- no inbox clutter!
* Generates E-mail headers for threading, so a post that references another post (or that includes the same link) will show up as a thread on decent MUAs. Also, posts from the same feed will be part of the same thread)
* Can (optionally) include images inline (as `data:` URIs for now -- which only works properly on iOS/Mac -- soon as MIME attachments)
* Can (optionally) remove read (but not flagged) items automatically# Project Status
Given that I've only had to tweak _one thing_ after two years of continued use, I'd say this is more than stable. I've gone off and built a multi-threaded app with a SQLite feed store called [bottle-fever](https://github.com/rcarmo/bottle-fever), but there's only so much free time, and even though this code is crammed with hideous legacy idioms, it works as is.
Come 2016, I switched to Feedly because the user experience on the iPad using [Reeder](http://reederapp.com) was a little better.
## Similar Projects
Other projects I've come across that traveled this path in other languages:
* [greghendershott/feeds2gmail](https://github.com/greghendershott/feeds2gmail), using [Racket](https://www.racket-lang.org)
* [Gonzih/feeds2imap.clj](https://github.com/Gonzih/feeds2imap.clj), using [Clojure](https://clojure.org)
* [rcarmo/go-rss2imap](https://github.com/rcarmo/go-rss2imap) my attempt at tweaking a [Go](http://golang.org) version
* [Riduidel/rrss2imap](https://github.com/Riduidel/rrss2imap), using [Rust](https://www.rust-lang.org/)## Exercises For The Reader
* Test nested folders (am only using single folders, not a nested hierarchy, so this might break)
* Automatic message categorization using Bayesian filtering and NLTK
* Better reference tracking to identify 'hot' items
* Figure out a nice way to do favicons (X-Face is obsolete, and so is X-Image-URL)# Here Be Dragons
Be aware that this works and is easy to hack, but uses old Python idioms and could do with some refactoring (PEP-8 zealots are sure to cringe as they read through the code -- I know I find it hideous, but it was a quick hack and has been working reliably for me for over two years now).