Package: rss2email
Getting Started With rss2emailWe highly recommend that you watch the rss2email project on GitHub
so you can keep up to date with the latest version, bugfixes and
features:https://github.com/rss2email/rss2emailContentsGetting Started With rss2emailInstalling rss2emailPackagesInstalling by handRequirementsDownloadInstallUpgrading to a new versionUsing rss2emailCustomizing rss2emailSMTPPost-processingAutomating rss2emailDevelopmentCommunityTips and tricksInstalling rss2emailPackagesA quick way to get rss2email going is using pre-made packages. There are
releases forDebian,Fedora,Gentoo,NetBSD,NixOS,OpenBSD,openSUSE, andUbuntu.Installing by handRequirementsBefore you install rss2email, you’ll need to make sure that a few
things are in place.Ensure that a version ofPython≥3.6 is installed.Install the required Python packages.feedparserhtml2textFigure out how you are going to send outgoing email.  You have two
options here: either use an SMTP server or a local sendmail
program.  So,determine your outgoing email server’s SMTP address, orinstall sendmail (or a compatible replacement like postfix).DownloadDownload the latest rss2email source and unpack it.  You can choose
from several equivalent formats.A.zipfile (suggested for Microsoft Windows users)
or.tar.gzfile (suggested for everyone else):* Navigate to https://github.com/rss2email/rss2email/releases
* Click either the ``zip`` or ``tar.gz`` icon for the latest release
* Download and extract the archiveAGitcheckout (suggested for developers):$ git clone git://github.com/rss2email/rss2email.gitInstallFrom the unpacked directory, run:$ python setup.py installYou can pass all the usual options to theinstallcommand,
including--user.  If you don’t want to install rss2email, you can
also runr2edirectly from the source directory.Upgrading to a new versionJust repeat the installation procedure for the new source package.  If
your config file and data file were in the old source directory, move
them over to the new source directory.  If the config and data files
were in another directory (e.g.~/.configand~/.local/share),
there is no need to move them.Using rss2emailCreate a new feed database to send updates to your email address:$ r2e new you@yourdomain.comThis command will create a configuration file
($XDG_CONFIG_HOME/rss2email.cfgby default) and a feed database
($XDG_DATA_HOME/rss2email.jsonby default).  If you’d rather those
files were stored in other locations, use the--configand--dataoptions.XDG_CONFIG_HOMEdefaults to$HOME/.configandXDG_DATA_HOMEdefaults to$HOME/.local/share.You should edit the default configuration file now to adjust rss2email
for your local system.  Unless you’ve installed a local
sendmail-equivalent, you’ll need to edit theSMTPoptions.Subscribe to some feeds:$ r2e add eff https://www.eff.org/rss/updates.xmlThat will cause rss2email to notify you when there is a new announcement from
the Electronic Frontier Foundation. 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-sendThen later, you can ask it to email you new stories:r2e runWhen a run is made, rss2email stores the list of already seen items for each feed in$HOME/.local/share/rss2email.json.Customizing rss2emailThere are a number of options, described in full inrss2email/config.py, to customize the way rss2email behaves. If
you want to change something, edit the configuration file that was
created byr2e new.For example, if you want to receive HTML mail, instead of having
entries converted to plain text:html-mail = TrueTo be notified every time a post changes, instead of just when it’s
first posted (see alsotrust-linkandreply-changes, described inrss2email/config.py):trust-guid = TrueAnd to make the emails look as if they were sent when the item was
posted:date-header = TrueIf you get an error messageSender domain must exist, add the
following to your configuration file:from = rss2email@yoursite.com
force-from = TrueYou can make the email address whatever you want, but your mail server
requires that theyoursite.compart actually exists.SMTPBy default, rss2email uses sendmail (or an equivalent) to send
outgoing email.  If you don’t have such a program installed, or simply
prefer to useSMTPdirectly, edit the configuration file and fill in
your outgoing email server’s details:[DEFAULT]
...
email-protocol = smtp
smtp-server = smtp.example.net:587
smtp-auth = False
...If your server requires you to login, changesmtp-auth= Falsetosmtp-auth= Trueand enter your email username and password:smtp-auth = True
smtp-username = username
smtp-password = passwordIf your server requires anTLS/SSLconnection (SMTPS), changesmtp-ssl= Falsetosmtp-ssl= True.  If your server does
not require a SMTPS connection but you request authentication,
rss2email will useSTARTTLSto encrypt the connection before sending
your login credentials to the server.Post-processingrss2email has a mechanism to post-process entries. A post-processor can be used to change the content of each entry
before rss2email sends the email out. A hook is added by defining the variablepost-processin the
config file. It takes two arguments, the module and the function to call. For example:post-process = rss2email.post_process.prettify processExamples of built-in post-processors:prettify.pyprettifies the HTML content with BeautifulSoup.redirect.pyremove redirects on the post URL for privacy or durability.Automating rss2emailMore 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
nicetutorialon it. Just selectr2e.batas the program to run. Once
you’ve created the task, double click on it in the task list and
change the Run entry so thatruncomes
afterr2e.bat. For example, if you installed rss2email in
theC:\rss2emaildirectory, then you would change the Run
entry fromC:\rss2email\r2e.battoC:\rss2email\r2e.batrun.On Unix/Linux systems, you should add acronjob that runsr2e.
For example, runr2eevery night (at 1:23 am) with:23 1 * * * r2e runDevelopmentCommunityUser discussion and development take place on GitHub. Please feel free
to post bug reports, feature requests, comments, and patches. If you do
not have a GitHub account and do not wish to acquire one, please come
chat in the IRC channel.There is a developer chat on theLibera IRC server, in therss2emailchannel. Feel free to idle.Tips and tricksWhen adding a new test case, it is possible to just add the new input
files, and then run the test suite withFORCE_TESTDATA_CREATION=1,
and the test suite will automatically generate the output file. Just
make sure to check that the output file does match what is wanted before
checking it in.