Version 2.66 Released

A new version of rss2email is available for Windows and for UNIX.

For the first time in quite a while, actual new features were added in addition to some significant bug fixes. From the CHANGELOG:

v2.66 (2009-12-21)

  • Complete packaging of all necessary source files (rss2email, html2text, feedparser, r2e, etc.) into one bundle
    • Included a more complete config.py with all options
    • Default to HTML mail and CSS results
  • Added ‘reset’ command to erase history of already seen entries
  • Changed project email to ‘lindsey@allthingsrss.com’ and project homepage to ‘http://www.allthingsrss.com/rss2email/’
  • Made exception and error output text more useful
  • Added X-RSS-Feed and X-RSS-ID headers to each email for easier filtering
  • Improved enclosure handling
  • Fixed MacOS compatibility issues
You can leave a response, or trackback from your own site.

15 Responses to “Version 2.66 Released”

  1. Tres says:

    Hello, I am trying to get 2.66 up and running on one of my servers, centos 4x.

    followed the instructions to a T and when I try and add the email address to start off with, I get the following response/error:

    Traceback (most recent call last):
    File “rss2email.py”, line 250, in ?
    import cPickle as pickle, time, os, traceback, sys, types, subprocess
    ImportError: No module named subprocess

    any help?

  2. Are you running Python version 2.4.x or higher? The subprocess module wasn’t added until v2.4.

  3. Jason says:

    ‘Feature Request’:

    Can you add a diff-feature when an item has been updated?

  4. Brett says:

    I use rss2email to pipe feeds to my Gmail account, and use Gmail’s filters, keyed on username+[category]@gmail.com to sort the feeds into categories. I just upgraded to the latest version of rss2email and got the following error:

    [me@server ~/.rss2email]$ ./r2e add http://pipes.yahoo.com/pipes/pipe.run?_id=419eb43bc8faec4ade48b3a458c10139&_render=rss me+news@gmail.com
    [1] 17447
    -bash: me+news@gmail.com: command not found

  5. Put the feed address in between quotes, for example:
    ./r2e add "http://site.com&this&that"

  6. Steve says:

    Is there an option to run r2e run quietly?

  7. Setting VERBOSE=0 in config.py will keep some warnings and messages down, but errors always print. Perhaps redirect output to /dev/null?

  8. John says:

    I’m curious would it be possible to modify the code to attach any eventual images in the feed when sending the mail as well as sending the mail in html?

  9. I would say it is possible, but perhaps a bit tricky to do correctly.

  10. John says:

    I am by no means a programmer, but I would love to have that feature in rss2email. So if anybody happen to do an update that would be one suggestion to what to do.

  11. Easter says:

    Hi,

    I would like to request this feature: The option to send an email in both HTML and plain text format at once. This itself is easy to do in python using the email library that you are using but when I looked at your code, it looked like it would take a while before I could figure out how to integrate that feature into your script without breaking anything else (all the extra cases, etc). Some SMTP servers will increase spam score on an email if it is HTML-only.

    I would also like to suggest including the feed date in the body of the email. Some SMTP servers will also mark up the spam score if the email is too far in the past, forcing us to disable use of the time reported in the feed as the email date. In that case, some information about the post is lost, namely, post time.

    I would dive into the code tonight but unfortunately, I am in college right now and will not have time until the summer.

    Thanks.

  12. You can control how emails are dated with these settings in your config.py file:
    # 1: Generate Date header based on item’s date, when possible.
    # 0: Generate Date header based on time sent.
    DATE_HEADER = 0

    # A tuple consisting of some combination of
    # (‘issued’, ‘created’, ‘modified’, ‘expired’)
    # expressing ordered list of preference in dates
    # to use for the Date header of the email.
    DATE_HEADER_ORDER = (‘modified’, ‘issued’, ‘created’)

  13. Desmond says:

    Hi all,

    I’m not sure if this is the right forum for this, but I’ve made changes to rss2email.py (version 2.66) in order to make it work properly with certain feeds, and in some case to make it more convenient to use.

    (If this is not the right forum, please let me know. I did not immediately see anywhere else to post my comments)

    For example, for some of the feeds I follow, feedparser will put the author of that feed in a standalone, item specific author attribute, instead of, for example, the author_details.name attribute. The end result is that the author of the post is not mentioned in the From header.

    Separately, I’ve found it useful for the “new” action to take a command line option to avoid overwriting the feeds.dat file if it already exists. I’ve found this useful for emacs integration; you just call r2e new –no-overwrite everytime emacs starts up to ensure that you have a feeds.dat file, ready to use.

    Anyway, here’s a patch for the two changes, if you want it:

    diff -u rss2email-2.66.orig/rss2email.py rss2email-2.66/rss2email.py
    — rss2email-2.66.orig/rss2email.py 2009-12-21 17:13:55.000000000 -0500
    +++ rss2email-2.66/rss2email.py 2010-04-23 21:31:29.000000000 -0400
    @@ -395,12 +395,21 @@
    name += entry.author_detail.name
    except UnicodeDecodeError:
    name += unicode(entry.author_detail.name, ‘utf-8′)
    + elif hasattr(entry, ‘author’) and entry.author:
    + if name: name += “: ”
    + try:
    + name += entry.author
    + except UnicodeDecodeError:
    + name += unicode(entry.author, ‘utf-8′)

    elif ‘name’ in feed.get(‘author_detail’, []):
    if feed.author_detail.name:
    if name: name += “, ”
    name += feed.author_detail.name
    -
    + elif hasattr(feed, ‘author’) and feed.author:
    + if name: name += “, ”
    + name += feed.author
    +
    return name

    def getEmail(feed, entry):
    @@ -780,6 +789,11 @@
    elif action == “add”: add(*args)

    elif action == “new”:
    + if len(args) > 0 and args[0] == “–no-overwrite”:
    + args = args[1:]
    + if os.path.exists(feedfile):
    + sys.exit(0)
    +
    if len(args) == 1: d = [args[0]]
    else: d = []
    pickle.dump(d, open(feedfile, ‘w’))

  14. Hans says:

    A nice feature would be to filter the RSS feeds through regex before sending them. My aim is to get rid of some rss feeds, I just want to get rss feeds with a certain tag.

  15. Jason says:

    it seems that rss2email is broken in python2.6 Might there be an easy way to fix that?

Leave a Reply