Getting Started with rss2email

We highly recommend that you subscribe to the rss2email project feed so you can keep up to date with the latest version, bugfixes and features: http://feeds.feedburner.com/allthingsrss/hJBr

Instructions for Windows Users
Instructions for UNIX (Linux, Mac OS X, BSD and CentOS) Users
Customizing rss2email

Instructions for Windows Users

Requirements

Before you install rss2email, you’ll need to make sure that a few things are in place. First, is that a version of Python 2.x installed. Second, determine your outgoing email server’s address. That should be all you need.

Download

  1. Create a new folder
  2. Download the latest rss2email .ZIP file and unzip to the new folder

Configure

Copy the provided config.py.example file to config.py and fill in your outoing email server’s details. If your server requires you to login, change "AUTHREQUIRED = 0" to "AUTHREQUIRED = 1" and enter your email username and password.

Install

From the command line, change to the folder you created. Now create a new feed database to send updates to your email address:

r2e new you@yourdomain.com

Subscribe to some feeds:

r2e add http://feeds.feedburner.com/allthingsrss/hJBr

That’s the feed to be notified when there’s a new version of rss2email. Repeat this for each feed you want to subscribe to.

When you run rss2email, it emails you about every story it hasn’t seen before. But the first time you run it, that will be every story. To avoid this, you can ask rss2email not to send you any stories the first time you run it:

r2e run --no-send

Then later, you can ask it to email you new stories:

r2e run

If you get an error message “Sender domain must exist”, add a line to config.py like this:

DEFAULT_FROM = rss2email@yoursite.com

You can make the email address whatever you want, but your mail server requires that the yoursite.com part actually exists.

Automating rss2email

More than likely you will want rss2email to run automatically at a regular interval. Under Windows this is can be easily accomplished using the Windows Task Scheduler. This site has a nice tutorial on it. Just select r2e.bat as the program to run. Once you’ve created the task, double click on it in the task list and change the Run entry so that “run” comes after r2e.bat. For example, if you installed rss2email in the C:\rss2email folder, then you would change the Run entry from “C:\rss2email\r2e.bat” to “C:\rss2email\r2e.bat run”.

Your help with rss2email commands, just run r2e help or just r2e.

Now jump down to the section on customizing rss2email to your needs.

Upgrading to a new version

Simply replace all of the files from the .ZIP package to your install directory EXCEPT config.py

Instructions for UNIX/Linux Users

Requirements

Before you install rss2email, you’ll need to make sure that a few things are in place. First, is a version of Python 2.x installed. Second, is whether you have sendmail (or a compatible replacement like postfix) installed. If sendmail isn’t installed, determine your outgoing email server’s address. That should be all you need.

Download

A quick way to get rss2email going is using pre-made packages. Here are releases for Debian Linux, Ubuntu Linux and NetBSD.

If you are unable to use these packages or you want the latest and greatest version, here’s what you do:


Unarchive (probably 'tar -xzf') the rss2email .tar.gz package to [folder where you want rss2email files to live]

cd [yourfolder]

chmod +x r2e

cp config.py.example config.py

Install

Create a new feed database with your target email address:

./r2e new you@yourdomain.com

Subscribe to some feeds:

./r2e add http://feeds.feedburner.com/allthingsrss/hJBr

That’s the feed to be notified when there’s a new version of rss2email. Repeat this for each feed you want to subscribe to.

When you run rss2email, it emails you about every story it hasn’t seen before. But the first time you run it, that will be every story. To avoid this, you can ask rss2email not to send you any stories the first time you run it:

./r2e run --no-send

Then later, you can ask it to email you new stories:

./r2e run

You probably want to set things up so that this command is run repeatedly. (One good way is via a cron job.)

If you get an error message “Sender domain must exist”, add a line to config.py like this:

DEFAULT_FROM = rss2email@yoursite.com

You can make the email address whatever you want, but your mail server requires that the yoursite.com part actually exists.

Your help with rss2email commands, just run r2e help or just r2e.

Upgrading to a new version

Simply replace all of the files from the .tar.gz package to your install directory EXCEPT config.py

Customize rss2email

There are a number of options, described in full in the provided config.py.example file and at the top of rss2email.py file, to customize the way rss2email behaves. If you want to change something, edit the config.py file. If you’re not using rss2email under Windows, you’ll have to create this file if it doesn’t already exist.

For example, if you want to receive HTML mail, instead of having entries converted to plain text:

HTML_MAIL = 1

To be notified every time a post changes, instead of just when it’s first posted:

TRUST_GUID = 0

And to make the emails look as if they were sent when the item was posted:

DATE_HEADER = 1

127 Responses to “Getting Started with rss2email”

  1. angel says:

    Hello.

    I get this error. Can you help me? Thanks.

    === rss2email encountered a problem with this feed ===
    === See the rss2email FAQ at http://www.allthingsrss.com/rss2email/ for assistance ===
    === If this occurs repeatedly, send this to lindsey@allthingsrss.com ===
    E: could not parse http://www.php.net/feed.atom
    Traceback (most recent call last):
    File “rss2email.py”, line 772, in run
    content += ‘Via: ‘+extralink['title']+’\
    n’
    File “.\feedparser.py”, line 317, in __getitem__
    return UserDict.__getitem__(self, realkey)
    KeyError: ‘title’
    rss2email 2.70
    feedparser 5.0.1
    html2text 3.01
    Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]
    === END HERE ===

  2. sherif.taher says:

    Can’t find any place to put that in but anyways, I got rss2email working but I found something, I tried adding an RSS feed from craigslist and whenever I run r2e I get a warning ‘looks like HTML’
    I looked closely and I found out that the address I added was truncated, consequently it led to an html page rather than the xml feed

    example, I copy the RSS address from craigslist and add it using ‘r2e add’

    http://sfbay.craigslist.org/search/sss/sby?query=m5+2002&srchType=A&minAsk=&maxAsk=&format=rss

    but when I list ‘r2e list’ the address is truncated to

    http://sfbay.craigslist.org/search/sss/sby?query=m5+2002

    removing the first ‘&’ and the following characters

    I fixed that by hacking into the feeds.dat file and manually pasting the address, but I don’t think that this should be long term, I’m sure that other people will face the same problem

    by the way, where can I report such bugs, I can’t easily find how from the website

    thanks

  3. Sherif: just put double quotes around the feed address. For example:
    ./r2e add “http://site.com/whatever&this=that”

  4. DoubleSixx says:

    Hello,

    I’m stuck. My hosting is with GoDaddy, and they won’t help.

    I downloaded, extracted files into a r2e directory uploaded. Enabled SSH. Using Putty, I logged in, cd html, cd r2e.

    I believe there’s read / write access on the directory.

    Then cp config.py.example config.py.

    Here’s where I’m stuck.

    Can’t : ./r2e new you@yourdomain.com or ./r2e add http://feeds.feedburner.com/allthingsrss/hJBr

    Going through the readme.html I found the following :
    Edit the config.py file and fill in your outoing email server’s details. If your server requires you to login, change “AUTHREQUIRED = 0″ to “AUTHREQUIRED = 1″ and enter your email username and password.

    So I set to 1 and entered my username and password.

    If I type r2e new or r2e add I get command not found.

    Feels like I’m close to making this work but I don’t know Linux or Python. I know I’m a n00b but I can’t tell what’s wrong.

    Any help would be greatly appreciated. Thanx in advance.

  5. While logged into your hosting account, change to the directory where you extracted the rss2email files. Check these things:

    1. Make sure rss2email files are there (r2e, rss2email.py, etc.) –> ls -l
    2. Make sure you have version 2.5 or later –> python --version
    3. Then try rss2email (here dot and slash are important) –> ./r2e new you@yourdomain.com
  6. DoubleSixx says:

    Lindsey,

    Thank you for the reply. I typed up my problem so fast I forgot to mention a few things.

    First I don’t know Python or Linux. I’ve been following the bits and pieces of info I’ve found online.

    Using putting I can login and navigate to the directory.

    Just now I did a vdir (I hope that was the right command) to see if the files were ->1s -1.

    If I typed out those two file names and put a -> 1x or -1 I get command not found.

    So I’m doing something wrong.

    I’ve been using the slash and ./r2e new you@yourdomain.com.

    What I’ve found that executes a command, right ?

    I’m still stuck. Have a great weekend.
    r2e is -rwx–xr-x and rss2email.py is -rw—-r– 1 which I’m guessing is either wrong or I’m not looking at the right things. Possibly vdir was the wrong command ?

  7. Yeah, don’t type my attempt at drawing an arrow. Just type in one command:
    ls -l
    python –version
    ./r2e new you@yourdomain.com

  8. DoubleSixx says:

    Lindsey,

    GoDaddy claims this should work and they’re up to date on the python version.

    I found out I need to upload the files in ASCII mode. After doing that I received an Access Denied error after trying to send the ./r2e new you@yourdomain.com

    Any ideas ?

    I appreciate all your help. Seems like you made a slick program. Hope I’ll be able to use it at some point.

  9. DoubleSixx says:

    Lindsey,

    OK I reuploaded and started over.

    This time I chmod +x r2e from putty. Then the email and add commands worked !

    Now to see this in action. Thanx so very much =).

  10. Great! Glad you got it working.

  11. DoubleSixx says:

    I have one final question.

    Since I have a Linux server I’ll need to run a Cron Job so r2e runs daily, correct ?

    What’s the exact command ?

    After trying a few I keep getting an e-mail that the Cron Daemon failed.

    /bin/sh: /var/chroot/home/content/92/7631592/html/r2e/r2e run: No such file or directory

    Currently I have the following command :

    “$HOME/html/r2e/r2e run”

    I’ve tried various combinations and nothing has worked yet.

    Thanx in advance, have a great weekend.

  12. DoubleSixx says:

    No one knows the command ?

  13. DoubleSixx says:

    Currently I have this as my GoDaddy command :

    “$HOME/html/r2e/r2e.bat”

    Here’s the error I received :

    /bin/sh: /var/chroot/home/content/92/7631592/html/r2e/r2e.bat: Permission denied

    I don’t know what to put as the command.

  14. First, you should run r2e and not r2e.bat. r2e.bat is for Windows and r2e is for UNIX.

    Second, permission denied could be fixed through changing the permissions of r2e (and maybe other rss2email files). The cron job needs to be granted permissions to read and execute the r2e script.

    In the r2e directory, try “chmod 755 r2e” and see if that works.

  15. DoubleSixx says:

    @Lindsey,

    Thank you for your continued help.

    I chmoded every file in the directory.

    But I still don’t know the command to run the Cron Job. I tried every file.

    Using putty I ./r2e run, now what do I need as the Cron Job command ?

    $HOME/html/r2e/what goes here ?

    Thank you again, hope you’re having a great weekend. I lost power last Saturday ’til Thursday. Just hoping to resolve this problem today and just do nothing after =).

  16. The first is make sure that rss2email works by itself, meaning you can add feeds, do “./r2e run” and are getting emails. Don’t worry about cron until rss2email itself is working.

    If it is working, the page below should help you get it scheduled with cron. There should tons of other references on the web.
    https://help.ubuntu.com/community/CronHowto

  17. DoubleSixx says:

    I receive e-mails, I’ll check out the page now.

    Since I use GoDaddy, I have to fill in the field with a command. The Cron Job now only e-mails me with the failures.

    If I have the right command I think it’ll be done and I won’t bug you anymore.

    *Frustrated*

  18. DoubleSixx says:

    A quick glance at the page shows

    /somecommand.

    That’s all I need is the command. =(

  19. DoubleSixx says:

    Here’s a picture of what I see when I try making the Cron Job :

    http://www.doublesixx.com/r2e/cron.jpg

  20. DoubleSixx says:

    Whoops no hotlinking on my site. Copy and paste this url or you’ll get a raspberry.

    http://www.doublesixx.com/r2e/cron.jpg

  21. I would try removing the double quotes, use the Browse button to locate the r2e script and change the trailing “r2e” to “r2e run”

  22. DoubleSixx says:

    Without quotes this is the error I receive :

    python: can’t open file ‘rss2email.py’: [Errno 2] No such file or directory

  23. This is really an issue with godaddy and I recommend you Google for help with cron and godaddy. But if it were me, I would make a script that does something like this and run it from the cron job instead of r2e.

    cd $HOME/whatever/
    ./r2e run

    Obviously use the correct directory in line 1.

  24. Kemal says:

    Hi, I noticed that, if the RSS address is “https” then OVERRIDE_FROM and OVERRIDE_EMAIL are not working.

  25. DoubleSixx says:

    Heya,

    Update, I got it working last Monday ! Haven’t had time to post though =(.

    I called GoDaddy, and they said they went over to the servers and test the Cron etc and said it should be working. In addition they said the command “$HOME/html/r2e/r2e run” should be working. So then blamed something in your code etc.

    Then I decided to try your last suggestion. Running a script, but I received and oddball error. Sorry I didn’t write it down at the time. Googling the error claimed that sometimes a script or code written on a Windows computer may have a problem when run by a Linux server.

    More Googling and I learned I could make the script in Putty using Vim. So I re-wrote the script, chmod 755 the new file and made the GoDaddy Cron run the script and it worked !

    Yay ! Really great software.

    I still have another question. Since I’m a Linux n00b (this little program has taught me more but I’m still a n00b) I was wondering is there a way in Putty to view the feeds and remove them without deleting the feeds.dat and starting over.

    Thanx so much again. Hopefully this little post might help someone else with a Linux server that has a GoDaddy account.

  26. Glad to hear that it’s working now! You are well on your way to not being a Linux noob.

    There are several commands you can use to add, remove, list and pause individual feeds. When you logged into your account with Putty and in the rss2email directory just run “./r2e” by itself and it will list the commands.

  27. ddoomm says:

    Nice Work,Thanks for this project.

    What Should i do? If i want to receive an email a week post changes.i run this r2e job one time a week and set TRUST_GUID = 0 in config.py

    Its seems stills receive one email per rss post.

  28. ddoomm: currently rss2email only supports sending one email per new post. Sending one email with all changes from one feed is called digest mode and may be added in the future.

  29. ddoomm says:

    Thank for your reply.
    If i want modify the code to have digest mode.
    Could u give some hint?

  30. wasykes says:

    Hi Lindsey,

    Really great script, should help me purchase the camera I want…

    If I can get it to work properly.

    I seem to be having a problem with the r2e.bat file.

    I seem to have everything working in cmd, I add a new email account and feed to go with, use the r2e run command and I instantly receive emails.

    If I delete the feeds.dat file and start again without the run command, running the r2e.bat file produces nothing.

    What I ultimately want to achieve is a Task Scheduled to run every 5 mins without opening the cmd window. I’m trying to use hstart with the following command:

    “C:\hstart\hstart64.exe” /NOCONSOLE “C:\rss2email\r2e.bat run”

    But like I say, no joy from the r2e.bat.

    Hope you can help…

  31. Hmm, I haven’t ever used hstart before but it sounds like you’re very close.

    First get rss2email back to the place where it’s sending you emails when you manually run it.

    Next, remove the /CONSOLE switch to see if there’s an error message. I bet the problem is that hstart is not changing to your c:\rss2email folder first.

    If hstart doesn’t work then, try changing “C:\rss2email\r2e.bat run” to “python c:\rss2email\rss2email.py c:\rss2email\feeds.dat run” or make a short batch file that change to your folder then runs r2e.bat.

  32. wasykes says:

    Wow, thanks for the quick reply :)

    But even without hstart, if I navigate to C:\rss2email\r2e.bat and run the .bat file it doesn’t seem to run at all, unlike when inside the cmd program where it works flawlessly?

  33. Right, I think that’s because only from cmd are you actually in the rss2email folder. Get it working from cmd first, then try the other things.

  34. wasykes says:

    The standard .bat file just contained this:

    @python rss2email.py feeds.dat %1 %2 %3 %4 %5 %6 %7 %8 %9

    I changed it to:

    @python c:\rss2email\rss2email.py c:\rss2email\feeds.dat %1 %2 %3 %4 %5 %6 %7 %8 %9

    Now all is well, including the hstart.

    Thanks for your assistance.

  35. petermolnar says:

    Thank you very much for this little marvell, I’m finally able to replace Thunderbird with whatever I’d like to use :)

  36. [...] It has a pretty good description in installation and configuration, I could not write a better one. Just one thing: first I tried installing it from Ubuntu repository, but I was unable to locate the config.py file needed to configure the program, so I downloaded the latest and everything worked nicely. [...]

  37. Rootbeer says:

    Hi,

    Thanks for rss2email. I’ve been using it via the Debian distro for a couple years. I hit a problem with a new feed recently (something about UTF8/ascii)… Anyway, upgrading to the latest release fixed things.

    To get the latest release working for me, I tweaked the r2e wrapper a bit. (I copied some of the magic from the Debian version). There is one bug fix (use ‘”$@”‘ instead of $* to preserve whitespace and quoting). And I ‘exec’ python to replace the shell.

    Here’s the hacked up r2e wrapper:
    http://pastebin.com/K3AdRM4Y

    I thought I should at least pass the update along, in case you thought any of it was useful.

  38. Jos says:

    Hello Lindsey,

    hope you can help. This tool looks like something I’ve been looking for for a while. I cannot seem to make it work though (trying from a windows 7 machine). I am using a VPN connection in a business environment as I’d like to use this tool to get new threads and updates from a forum to see customer questions as soon as they come in.
    I am having trouble with the smtp setting though. When using the smtp server as used in Thunderbird (with tls/ssl authentication) and entering those details in config.py, it says it cannot connect to the smtp server. Even though pinging that server is fine.

    D:\My Documents\Communities\rss2email-2.70>r2e.bat run

    Fatal error: could not connect to mail server “stbeehive.oracle.com:465″
    Check your config.py file to confirm that SMTP_SERVER and other mail server settings are configured properly

    I’ve also tried the smtp.gmail.com and my personal email providers smtp server. Behind the vpn, nothing works.

    When I use a direct internet connection (no vpn), I can use my personal internet providers smtp server – that does not give any problem ‘r2e run’ completes fine – but I am not getting any email…

    Obviously I need to get this working within the vpn. Any thoughts?

    thx
    Jos

  39. David says:

    Hi all,

    I may have a question which may be very specific to my RSS usage but anyway…

    Is it possible to pack all items of a feed into a single email ? In that case, posts would be formatted as an itemize (with title -with ahref to post URL-, w/o post description…).

    Obviously, every time a RSS is updated, an email is sent with compacted “new posts”.

    In my usage, I’m using scientific journal RSS and every month, there are like 20-30 new posts in a single shot and I would like all these posts to be compacted into a single mail.

    Any idea? Is it possible with r2e ?

  40. David: this is commonly called “digest mode”. It’s something I’d like to add to rss2email, but haven’t had time to (yet).

  41. Jos,

    Troubleshooting email problems can be tricky since there are so many variables beyond the scope of rss2email.

    First off, confirm your VPN connection allows you to access anything on the open Internet. Often corporate VPNs only route to their addresses while the tunnel is active.

    After that, you could try a tool I wrote for email troubleshooting and testing. It makes it easy to test various combinations of settings.
    https://github.com/turbodog/python-smtp-mail-sending-tester

  42. Michael says:

    What´s wrong?

    I get this message when I run r2e:
    Trace back :
    File “rss2email.py”, line 114, in ?
    from email.Header import header
    ImportError: No module named Header

    I don´t know what to do now?

  43. Akhsurdna says:

    Is there a step by step guide on how to configure the configure.py file so it would work with gmail?

  44. Akhsurdna says:

    is there a step by step on how to configure the configure.py file?

  45. Right there are the basic installation instructions on this site. Someone else wrote it up a little more nicely: https://wiki.archlinux.org/index.php/Rss2email.

    Google has more info using GMail for sending email via SMTP here:
    http://support.google.com/mail/bin/answer.py?hl=en&answer=13287

  46. Michael: what version of Python are you using?

  47. Akhsurdna says:

    i dont understand this? “From the command line, change to the folder you created. Now create a new feed database to send updates to your email address:” How do i run the command line and how do i change to the folder i created ???? im a noob with a phyton

  48. John Hartmann says:

    I am receiving multiple emails for each posting. Any Ideas?

  49. Michael says:

    Lindsey: I´m using 2.2.1

Leave a Reply