This the homepage of the open-source rss2email project. rss2email is a free tool for delivering news from RSS feeds to your email program that works under Windows and UNIX, including Linux, Mac OS X, BSD and CentOS.

rss2email is maintained by Lindsey Smith.

30 Responses to “About”

  1. andrea says:


    an option to add some text to the mail

    e.g. I’m using r2e to warn people on a mailing list that something new has been posted to th corresponding forum, but the reply-to points to the ml, so that any reply is directed to the mailing list. I’d like to add a warning message (on top) to say “do not reply to this mail but go to the forum”


  2. Mayuresh says:

    I have a tiny change request about the mail format.

    I use vi as a pager through mutt to view my mails and hit a hot key on the URL to open it in an external browser.

    If the URL at the bottom of generated mail starts in column 1, it will be easy to reach by just hitting G in vi. Currently it is preceded by “URL: ” which requires additional keystrokes to reach the URL.

  3. I still do not get the command line installation
    please do help me

  4. ryan says:

    any sharepoint.com native syncing abilities, planned?

  5. Ryan: Probably not. That’s sounds out of the scope of rss2email I think. Being OSS, anyone could add that functionality though.

  6. dave says:

    Hi Lindsey,

    thanks for a great program!

    There’s one little problem: I was using SMTP delivery, then my company installed a new mailserver that insists on SMTP authentication. It wasn’t clear how rss2email handles that (if at all) and in any case I didn’t want yet another place where my password is stored that needs changing every couple of months, so I switched over to using the local spool and sendmail.

    My local spool uses Postfix, and is set up to relay through the company’s server. Unfortunately, sendmail uses “user@local-host-name” as the envelope sender address by default, and my company’s mailserver rejects the mail because of that.

    I did a quick hack in rss2email.py and changed
    p = subprocess.Popen(["/usr/sbin/sendmail", recipient], stdin=…

    p = subprocess.Popen(["/usr/sbin/sendmail", "-f", recipient, recipient], stdin=…

    (rss2email is configured to use the default “from” in my .rss2email/config.py

    This may well not work in all cases, especially if several people are using rss2email on the same machine. But it works for me.

  7. Dave: also check the SMTP sending configuration options for config.py

    # 1: Use SMTP_SERVER to send mail.
    # 0: Call /usr/sbin/sendmail to send mail.
    SMTP_SEND = 0

    SMTP_SERVER = “smtp.yourisp.net:25″
    AUTHREQUIRED = 0 # if you need to use SMTP AUTH set to 1
    SMTP_USER = ‘username’ # for SMTP AUTH, set SMTP username here
    SMTP_PASS = ‘password’ # for SMTP AUTH, set SMTP password here

    # Connect to the SMTP server using SSL
    SMTP_SSL = 0

  8. 100 Workout says:

    Lindsey – you might not even read this but thanks for posting up that bit of code regarding configuring SMTP sending. I’m not sure how but I managed to miss this during configuration and it was driving me nuts.



  9. Paul Provost says:

    Hi Lindsey,

    I would like rss2email to handle a feed that is generated by a script, without going through http at all. Is this something that is currently possible? If not, I would like to avoid digging into feedparser.py. Can I just make a special case in parse() and feed the resulting text into feedparser?

    Please advise!


  10. Paul: yes this is possible. Just save the output of the script to a file and add the file’s location (e.g. r2e add /path/to/file).

  11. Paul Provost says:

    Hi Lindsey,

    Thanks for your answer. In the meantime, I’ve been bad and hacked rss2email.py… That’s what open source is for, right? I added stuff in the parse function:

    if url.strip().split(‘:’, 1)[0] == ‘exec’:
    process = subprocess.Popen(url.strip().split(‘:’,1)[1].split(‘ ‘),
    output = process.communicate()[0]
    return feedparser.parse(output, etag, modified)

    This seemed the most surgical place to do this… I like the fact that rss2email calls the script directly instead of having another cron job write the file. Now I can add “exec:” entries, and they work nicely. I have some issues with handling spaces in the script path, but it works well enough for my purposes. It still lacks polish, though. What do you think? Feature, or do I keep it on my side?


    P.S.: I can now get my Twitter timeline delivered by rss2email. I’m happy! On to Google+…

  12. Thanks for this great tool! Blogged about a nice use for it for those using Sitecore CMS.


  13. Thank you very much for this fantastic program. Now i can access my feeds from anywhere and sort them with Mutt.

  14. WJ says:

    What is the licence on rss2email?

  15. It’s a bit hidden in the source code files instead of proudly advertised on this page, but the license is GPLv2 or GPLv3.

  16. Vladimir says:

    Is it possible to make delay of 10-20seconds between each email sent?
    Blogger have issue if several emails are received at exact same time in seconds. In this case complete blog navigation is frozen and not working since its navigation is date and time based.. So it is not possible to have several posts with same publish date.

  17. Greg says:

    I use RSS2email to automatically post from several RSS feeds to a Posterous blog. It’s a great program and thanks for making it available and continuing to develop it!

    I am sending the emails as html through an smtp server and the Posterous posts have a subject line that appears as the post title and is then repeated as the first line in the body of the post. I have looked to see if there is a setting to modify this behavior but I haven’t been able to find it so far.

    I would appreciate any help you can give!

  18. Daniel Alder says:


    I have a new feature for rss2email: a threading feature which adds Reference headers to messages which arrived over multiple streams. Maybe not yet your programming style, but stable. Where should I send the patch to?

  19. Thanks for this great tool, which I have been using for a couple of years now!

    When fetching Atom feeds I sometimes had problems with the character encoding of the output when the content/body was in Russian with Cyrillic letters. They’d sometimes come out fine, sometimes they were botched. Looking at the headers, those which were fine were actually declared to be ‘Content-Type: text/plain; charset=”iso-2022-jp”‘ (but mutt still managed to display it correctly), those which were garbled ‘Content-Type: text/plain; charset=”big5″‘.

    Since the Atom feed itself was already encoded in UTF-8, this seemed weird. It seems to happen in the loop where all the encodings of CHARSET_LIST are tested. If I reverse the order of the CHARSET_LIST array and place ‘UTF-8′ right after ‘US-ASCII’, the mails come out fine, encoded in UTF-8. This solved the problem for me, but I still thought it’s worth to let you know about it.

    So far, this problem only occured with _some_, not _all_ Atom entries that contained Cyrillic characters. If you want to give it a try, here’s a static copy of such a feed in question (stripped of irrelevant entries, which validates with the W3.org feed validator) where the first one works (albeit as iso-2022-jp) and the next two fail:


    Any ideas what’s going on?

    Thanks again for providing this very useful tool.


  20. Fabian,

    Thanks for the feedback. I think it’s just as you described. In some cases, but not all, BIG5 will give strange results when UTF-8 won’t.

  21. miforbes says:

    Many thanks for this project, I have been using it for years.

    One feature I’d find helpful (and made the modification in my local copy) is to have an option to add a delay between each email. This way, if I subscribe to a feed that dumps 100 emails on me (which I do) my email server won’t think that this is spam (once, my email server temporarily stopped delivering mail to me because of this issue).

  22. Zoltán Fekete says:

    Hi Lindsey!

    I found, that rss2email throws exception in certain situations (for example using feed: http://index.hu/24ora/rss)

    The patch below avoids the problem.

    Otherwise thank for the great job!


    tagline = “,”.join(str(taglist))

  23. LouixG says:

    Hi, can rss2email support the rss feed with https protocol and kerberos?

    My company use rss feed for some notification and its https link, so can rss2email support it?

    Thank you

  24. Yes, rss2email supports https URLs.

  25. Austin Kimbrough says:

    I am attempting to add a yahoo pipe rss feed


    but keep getting the error ‘_render’ is not recognized as an internal or external command, operable program or batch file.

    Anyone know how to fix?

  26. Put quotes around the feed address when you add it, e.g.
    ./r2e add "http://something"

  27. Mike B says:

    Lindsey been searching for you wonderfull app and finally cam upon it. I Installed it and got it up and running and its sending me emails. I am having fees issues. Here is a feed I tried to add.

    r2e add http://ontario.kijiji.ca/f-SearchAdRss?CatId=0&Keyword=pinball+-iphone+-nintendo+-wii+-clemons+-boy&Location=1700272&isProvinceSearch=true

    which gave me the error;

    ‘Keyword’ is not recognized as an internal or external command,
    operable program or batch file.
    ‘Location’ is not recognized as an internal or external command,
    operable program or batch file.
    ‘isProvinceSearch’ is not recognized as an internal or external command,
    operable program or batch file.

    So I tried the following;

    r2e add “http://ontario.kijiji.ca/f-SearchAdRss?CatId=0&Keyword=pinball+-iphone+-nintendo+-wii+-clemons+-boy&Location=1700272&isProvinceSearch=true”

    Which gave me no error. I then ran rss and I got an error;

    E: error in [2] “0″ feed (:2:0: syntax error)

    along with 20 emails with the proper keyword search. I then ran it again and got the same error;
    E: error in [2] “0″ feed (:2:0: syntax error)

    I then got a bunch of emails (20) it was giving me stuff without the keyword “pinball”. So I am not sure that it likes my feed entry.

    Did it again with the same error and the same results.

    Where are the feed located in what file? Any ideas. I am really dying to get this running

  28. Mike B says:

    Ok so I added the following link


    and it is working correctly. I am now wondering what the Kijiji URL has in it that is screwing up on query….. How can you remove a link?


  29. Mike B says:

    Figured it out, The first attempt added 2 search entries, one was generic due to the improper parse. Deletes entries. BTW you might want to add the command line arguments in your doc! :) Awesome app BTW!

  30. awgur says:

    Thank you for your project, it made my life easier, and news feeds more controllable.

    I would like to make a suggestion: the identification of messages is done by GUID or content (content, to the post and the title). But a lot of GUID is broken. Can you make a third mode, where the identification occurs firstly on a link, secondly on the title?

    It make me more happy then I am.

    P.S. Sory for Google Translate

Leave a Reply