Tech 04 Jan 2004 07:34 pm
Converting RSS to e-mail
The project I’m working on, which I mentioned previously, is a RSS-to-POP3 gateway. It’s a personal project, of the type I saw someone describing as a “itch-scratching” project. That is, I had something that was bothering me, and I decided to do something about it.
Looking around on the net I saw a few other projects doing approximately the same thing, but none did exactly what I wanted to do. I want to join the best things about server-side aggregators with the ease of use of regular e-mail software. So, my idea is to have a piece of software that will periodically go through a list of feeds, retrieve the updates, and store the data (the posts) in a database; that’s your basic server-side aggregator, minus the interface. And the other piece of software, which would provide a sort of interface, would be a POP3 daemon which would read the database looking for posts the users hasn’t seen yet and return them as e-mail messages.
This way, you can create a single account on your e-mail software which will retrieve all the new posts in all the feeds you read, and you can (if you want to) filter them into folders according to information added to the e-mail header by the gateway. Good things about this:
- since the server-side aggregator is always updating the feeds, you won’t miss posts if you stop reading the feeds for a long time
- if several people use the same installation and read the same feeds, the data is only retrieved once per user (that’s also a very good thing for feed publishers)
- it’s easy to save posts you want to keep (or read later)
- you can read the posts from your favourite e-mail software
- and possibly others
This is where I am so far: I have the software to go through the list of feeds and update a local database with the new posts, and I also have code to go through the database and generate a mailbox file with all the new posts for a given user. That’s enough for a “proof of concept”, allowing me to see the result and to ensure that the core code is working (although it still doesn’t like some feeds out there). What’s missing: basically, the POP3 daemon and an interface where users can register and add feeds to their account. Also, I need to make the code deal with error conditions in a more elegant way than what I have now. And the code to control what the user has already read needs some changes to work well with the kind of thing POP3 clients can do.
I’ll release the code when it is presentable; if anyone is interested, drop me a line or add a comment to this entry.





