From: W. Trevor King Date: Mon, 12 Nov 2012 19:47:06 +0000 (-0500) Subject: Merge Lindsey's v2.71 into my v2.71 X-Git-Tag: v3.0~74 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=d33eef1cb7cd8fd1b53df0cc5f379758555f3c0e;p=rss2email.git Merge Lindsey's v2.71 into my v2.71 I would just use Lindsey's repository directly, except my repository contains more old releases (back to v2.65). The conflicts were due to a few new lines in Lindsey's CHANGELOG, and a number of whitespace differences due to line endings. Conflicts: CHANGELOG config.py.example r2e r2e.bat readme.html rss2email.py --- d33eef1cb7cd8fd1b53df0cc5f379758555f3c0e diff --cc CHANGELOG index 3fadbec,ed1a33f..1887e0a --- a/CHANGELOG +++ b/CHANGELOG @@@ -1,117 -1,119 +1,119 @@@ -v2.71 (2011-03-04) - * Upgraded to feedparser v5.01! (http://code.google.com/p/feedparser/) - * Upgrade to html2text v3.01! (https://github.com/aaronsw/html2text) - * Potentialy safer method for writing feeds.dat on UNIX - * Handle via links with no title attribute - * Handle attributes more cleanly with OVERRIDE_EMAIL and DEFAULT_EMAIL - -v2.70 (2010-12-21) - * Improved handling of given feed email addresses to prevent mail servers rejecting poorly formed Froms - * Added X-RSS-TAGS header that lists any tags provided by an entry, which will be helpful in filtering incoming messages - -v2.69 (2010-11-12) - * Added support for connecting to SMTP server via SSL, see SMTP_SSL option - * Improved backwards compatibility by fixing issue with listing feeds when run with older Python versions - * Added selective feed email overrides through OVERRIDE_EMAIL and DEFAULT_EMAIL options - * Added NO_FRIENDLY_NAME to from from address only without the friendly name - * Added X-RSS-URL header in each message with the link to the original item - -v2.68 (2010-10-01) - * Added ability to pause/resume checking of individual feeds through pause and unpause commands - * Added ability to import and export OPML feed lists through importopml and exportopml commands - -v2.67 (2010-09-21) - * Fixed entries that include an id which is blank (i.e., an empty string) were being resent - * Fixed some entries not being sent by email because they had bad From headers - * Fixed From headers with HTML entities encoded twice - * Compatibility changes to support most recent development versions of feedparser - * Compatibility changes to support Google Reader feeds - -v2.66 (2009-12-21) - * Complete packaging of all necessary source files (rss2email, html2text, feedparser, r2e, etc.) into one bundle - o Included a more complete config.py with all options - o 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 - -v2.65 (2009-01-05) - - * Fixed warnings caused by Python v2.6 (using hashlib, removing mimify, etc.) - * Deprecated QP_REQUIRED option as this is more than likely no longer needed and part of what triggered Python warnings - * Fixed unicode errors in certain post headers - * Attempted to incorporate Debian/Ubuntu patches into the mainstream release - * Support img type enclosures - * No file locking for SunOS - -v2.64 (2008-10-21) - * Bug-fix version - o Gracefully handle missing charsets - o Friendlier and more useful message if sendmail isn't installed - o SunOS locking fix - -v2.63 (2008-06-13) - * Bug-fix version and license change: - o Licensed under GPL 2 & 3 now - o Display feed number in warning and error message lines - o Fix for unicode handling problem with certain entry titles - -v2.62 (2008-01-14) - * Bug-fix version: - o Simplified SunOS fix - o Local feeds (/home/user/file.xml) should work - -v2.61 (2007-12-07) - * Bug-fix version: - o Now really compatible with SunOS - o Don't wrap long subject headers - o New parameter CHARSET_LIST to override or supplement the order in which charsets are tried against an entry - o Don't use blank content to generate id - o Using GMail as mail server should work - -v2.60 (2006-08-25) - * Small bug-fix version: - o Now compatible with SunOS - o Correctly handle international character sets in email From - -v2.59 (2006-06-09) - * Finally added oft-requested support for enclosures. Any enclosures, such as a podcast MP3, will be listed under the entry URL - * Made feed timeout compatible with Python versions 2.2 and higher, instead of v2.4 only - * Added optional, configurable CSS styling to HTML mail. Set USE_CSS_STYLING=1 in your config.py to enable this. If you want to tweak the look, modify STYLE_SHEET. - * Improved empty feed checking - * Improved invalid feed messages - * Unfortunately, rss2email is no longer compatible with Python v2.1. Two of the most serious lingering issues with rss2email were waiting forever for non-responsive feeds and its inablility to properly handle feeds with international characters. To properly fix these once and for all, rss2email now depends on functionality that was not available until Python v2.2. Hopefully this does not unduly inconvenience anyone that has not yet upgraded to a more current version of Python. - -v2.58 (2006-05-11) - * Total rewrite of email code that should fix encoding problems - * Added configurable timeout for nonresponsive feeds - * Fixed incorrectly using text summary_detail instead of html content - * Fixed bug with deleting feed 0 if no default email was set - * Print name of feed that is being deleted - -v2.57 (2006-04-07) - * Integrated Joey Hess's patches - o First, a patch that makes delete more reliable, so it no longer allows you to remove the default email address ('feed' 0) and thereby hose your feed file, or 'remove' entries that don't exist without warning; and so it only says IDs have changed when they really have. Originally from http://bugs.debian.org/313101 - o Next a patch that avoids a backtrace if there's no email address defined, and outputs a less scary error message. - o Next, a simple change to the usage; since the "email" subcommand always needs a parameter, don't mark it as optional. - o And, avoid a backtrace if the email subcommand does get run w/o a parameter. - o And also avoid backtraces if delete is run w/o a parameter. Also adds support for --help. - o Simple change, make a comment match reality (/usr/sbin/sendmail) - o This avoids another backtrace, this time if there's no feed file yet. [load()] - o Add a handler for the AttributeError exception, which feedparser can throw. Beats crashing.. - o Next, four hunks that make it more robust if no default email address is set and feeds are added w/o an email address. This patch originally comes from http://bugs.debian.org/310485 which has some examples. - o Finally, this works around a bug in mimify that causes it to add a newline to the subject header if it contains very long words. Details at http://bugs.debian.org/320185. Note that Tatsuya Kinoshita has a larger patch torard the end of that bug report that deals with some other problems in this area, Aaron has seen that patch before and said it "looks pretty reasonable". - * add() catches error case on first feed add and no email address is set - * Made "emailaddress" consistent param label throughout - * Error message improvements - * Deleted problematic "if title" line - * Deleted space in front of SMTP_USER - * Only logs into SMTP server once - * Added exception handling around SMTP server connect and login attempt - * Broke contributors across multiple lines - -v2.56 (2006-04-04) - * SMTP AUTH support added - * Windows support - * Fixed bug with HTML in titles +v2.71 (2011-03-04) ++ * Upgraded to feedparser v5.01! (http://code.google.com/p/feedparser/) ++ * Upgrade to html2text v3.01! (https://github.com/aaronsw/html2text) + * Potentialy safer method for writing feeds.dat on UNIX + * Handle via links with no title attribute + * Handle attributes more cleanly with OVERRIDE_EMAIL and DEFAULT_EMAIL + +v2.70 (2010-12-21) + * Improved handling of given feed email addresses to prevent mail servers rejecting poorly formed Froms + * Added X-RSS-TAGS header that lists any tags provided by an entry, which will be helpful in filtering incoming messages + +v2.69 (2010-11-12) + * Added support for connecting to SMTP server via SSL, see SMTP_SSL option + * Improved backwards compatibility by fixing issue with listing feeds when run with older Python versions + * Added selective feed email overrides through OVERRIDE_EMAIL and DEFAULT_EMAIL options + * Added NO_FRIENDLY_NAME to from from address only without the friendly name + * Added X-RSS-URL header in each message with the link to the original item + +v2.68 (2010-10-01) + * Added ability to pause/resume checking of individual feeds through pause and unpause commands + * Added ability to import and export OPML feed lists through importopml and exportopml commands + +v2.67 (2010-09-21) + * Fixed entries that include an id which is blank (i.e., an empty string) were being resent + * Fixed some entries not being sent by email because they had bad From headers + * Fixed From headers with HTML entities encoded twice + * Compatibility changes to support most recent development versions of feedparser + * Compatibility changes to support Google Reader feeds + +v2.66 (2009-12-21) + * Complete packaging of all necessary source files (rss2email, html2text, feedparser, r2e, etc.) into one bundle + o Included a more complete config.py with all options + o 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 + +v2.65 (2009-01-05) + + * Fixed warnings caused by Python v2.6 (using hashlib, removing mimify, etc.) + * Deprecated QP_REQUIRED option as this is more than likely no longer needed and part of what triggered Python warnings + * Fixed unicode errors in certain post headers + * Attempted to incorporate Debian/Ubuntu patches into the mainstream release + * Support img type enclosures + * No file locking for SunOS + +v2.64 (2008-10-21) + * Bug-fix version + o Gracefully handle missing charsets + o Friendlier and more useful message if sendmail isn't installed + o SunOS locking fix + +v2.63 (2008-06-13) + * Bug-fix version and license change: + o Licensed under GPL 2 & 3 now + o Display feed number in warning and error message lines + o Fix for unicode handling problem with certain entry titles + +v2.62 (2008-01-14) + * Bug-fix version: + o Simplified SunOS fix + o Local feeds (/home/user/file.xml) should work + +v2.61 (2007-12-07) + * Bug-fix version: + o Now really compatible with SunOS + o Don't wrap long subject headers + o New parameter CHARSET_LIST to override or supplement the order in which charsets are tried against an entry + o Don't use blank content to generate id + o Using GMail as mail server should work + +v2.60 (2006-08-25) + * Small bug-fix version: + o Now compatible with SunOS + o Correctly handle international character sets in email From + +v2.59 (2006-06-09) + * Finally added oft-requested support for enclosures. Any enclosures, such as a podcast MP3, will be listed under the entry URL + * Made feed timeout compatible with Python versions 2.2 and higher, instead of v2.4 only + * Added optional, configurable CSS styling to HTML mail. Set USE_CSS_STYLING=1 in your config.py to enable this. If you want to tweak the look, modify STYLE_SHEET. + * Improved empty feed checking + * Improved invalid feed messages + * Unfortunately, rss2email is no longer compatible with Python v2.1. Two of the most serious lingering issues with rss2email were waiting forever for non-responsive feeds and its inablility to properly handle feeds with international characters. To properly fix these once and for all, rss2email now depends on functionality that was not available until Python v2.2. Hopefully this does not unduly inconvenience anyone that has not yet upgraded to a more current version of Python. + +v2.58 (2006-05-11) + * Total rewrite of email code that should fix encoding problems + * Added configurable timeout for nonresponsive feeds + * Fixed incorrectly using text summary_detail instead of html content + * Fixed bug with deleting feed 0 if no default email was set + * Print name of feed that is being deleted + +v2.57 (2006-04-07) + * Integrated Joey Hess's patches + o First, a patch that makes delete more reliable, so it no longer allows you to remove the default email address ('feed' 0) and thereby hose your feed file, or 'remove' entries that don't exist without warning; and so it only says IDs have changed when they really have. Originally from http://bugs.debian.org/313101 + o Next a patch that avoids a backtrace if there's no email address defined, and outputs a less scary error message. + o Next, a simple change to the usage; since the "email" subcommand always needs a parameter, don't mark it as optional. + o And, avoid a backtrace if the email subcommand does get run w/o a parameter. + o And also avoid backtraces if delete is run w/o a parameter. Also adds support for --help. + o Simple change, make a comment match reality (/usr/sbin/sendmail) + o This avoids another backtrace, this time if there's no feed file yet. [load()] + o Add a handler for the AttributeError exception, which feedparser can throw. Beats crashing.. + o Next, four hunks that make it more robust if no default email address is set and feeds are added w/o an email address. This patch originally comes from http://bugs.debian.org/310485 which has some examples. + o Finally, this works around a bug in mimify that causes it to add a newline to the subject header if it contains very long words. Details at http://bugs.debian.org/320185. Note that Tatsuya Kinoshita has a larger patch torard the end of that bug report that deals with some other problems in this area, Aaron has seen that patch before and said it "looks pretty reasonable". + * add() catches error case on first feed add and no email address is set + * Made "emailaddress" consistent param label throughout + * Error message improvements + * Deleted problematic "if title" line + * Deleted space in front of SMTP_USER + * Only logs into SMTP server once + * Added exception handling around SMTP server connect and login attempt + * Broke contributors across multiple lines + +v2.56 (2006-04-04) + * SMTP AUTH support added + * Windows support + * Fixed bug with HTML in titles diff --cc readme.html index dec0769,224fbbe..4b96a02 --- a/readme.html +++ b/readme.html @@@ -1,163 -1,163 +1,162 @@@ - - -Getting Started With rss2email - - -

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 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. -
  3. Download the latest rss2email .ZIP file and unzip to the new folder -
- -

Configure

- -

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.

- -

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".

- -

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 -
- -

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.

- -

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 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

- - - - + + +Getting Started With rss2email + + +

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 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. +
  3. Download the latest rss2email .ZIP file and unzip to the new folder +
+ +

Configure

+ +

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.

+ +

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".

+ +

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 +
+ +

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.

+ +

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 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

+ + + -