forked from turbodog/rss2email
-
Notifications
You must be signed in to change notification settings - Fork 48
/
README
248 lines (179 loc) · 7.59 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
.. -*- coding: utf-8 -*-
==============================
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://rss.gmane.org/gmane.mail.rss2email
.. contents::
Installing rss2email
====================
Packages
--------
A quick way to get rss2email going is using pre-made packages. There
are releases for Debian__, Ubuntu__, Fedora__, openSUSE__, Gentoo__,
and NetBSD__.
__ `Debian package`_
__ `Ubuntu package`_
__ `Fedora package`_
__ `openSUSE package`_
__ `Gentoo package`_
__ `NetBSD package`_
Installing by hand
------------------
Requirements
~~~~~~~~~~~~
Before you install rss2email, you'll need to make sure that a few
things are in place.
1. Ensure that a version of Python_ ≥3.2 is installed.
2. Install the required Python packages.
* feedparser_
* html2text_
3. Figure out how you are going to send outgoing email. You have two
options here: either use an STMP server or a local sendmail
program. So,
* determine your outgoing email server's SMTP address, or
* install sendmail (or a compatible replacement like postfix).
Download
~~~~~~~~
Download the latest rss2email source and unpack it. You can choose
from several equivalent formats.
1. A ``.zip`` file (suggested for Microsoft Windows users)::
$ wget https://github.com/wking/rss2email/archive/v3.9.zip
$ unzip rss2email-*.zip
2. A ``.tar.gz`` file (suggested for everyone else)::
$ wget https://github.com/wking/rss2email/archive/v3.9.tar.gz
$ tar xvf rss2email*.tar.gz
3. A Git_ checkout (suggested for developers)::
$ git clone git://github.com/wking/rss2email.git
Install
~~~~~~~
From the unpacked directory, run::
$ python setup.py install
You can pass all the usual options to the ``install`` command,
including ``--user``. If you don't want to install rss2email, you can
also run ``r2e`` directly from the source directory.
Upgrading to a new version
~~~~~~~~~~~~~~~~~~~~~~~~~~
Just 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. ``~/.config`` and ``~/.local/share``),
there is no need to move them.
Using rss2email
===============
Create a new feed database to send updates to your email address::
$ r2e new [email protected]
This command will create a configuration file
(``$XDG_CONFIG_HOME/rss2email.cfs`` by default) and a feed database
(``$XDG_DATA_HOME/rss2email.json`` by default). If you'd rather those
files were stored in other locations, use the ``--config`` and
``--data`` options. ``XDG_CONFIG_HOME`` defaults to ``$HOME/.config``
and ``XDG_DATA_HOME`` defaults 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 the SMTP_ options.
Subscribe to some feeds::
$ r2e add rss2email http://rss.gmane.org/gmane.mail.rss2email
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
Customizing rss2email
=====================
There are a number of options, described in full in
``rss2email/config.py``, to customize the way rss2email behaves. If
you want to change something, edit the the configuration file that was
created by ``r2e new``.
For example, if you want to receive HTML mail, instead of having
entries converted to plain text::
html-mail = True
To be notified every time a post changes, instead of just when it's
first posted (see also ``trust-link``, described in
``rss2email/config.py``)::
trust-guid = True
And to make the emails look as if they were sent when the item was
posted::
date-header = True
If you get an error message ``Sender domain must exist``, add the
following to your configuration file::
from = [email protected]
force-from = True
You can make the email address whatever you want, but your mail server
requires that the ``yoursite.com`` part actually exists.
You can also add custom filters, see the example and documentation in
``rss2email/post_process/prettify.py`` for more information.
SMTP
----
By default, rss2email uses sendmail (or an equivalent) to send
outgoing email. If you don't have such a program installed, or simply
prefer to use SMTP__ directly, edit the configuration file and fill in
your outoing email server's details::
[DEFAULT]
...
use-smtp = True
smtp-server = smtp.example.net:587
smtp-auth = False
...
If your server requires you to login, change ``smtp-auth = False`` to
``smtp-auth = True`` and enter your email username and password::
smtp-auth = True
smtp-username = username
smtp-password = password
If your server requires an `TLS/SSL`_ connection (SMTPS), change
``smtp-ssl = False`` to ``smtp-ssl = True``. If your server does
not require a SMTPS connection but you request authentication,
rss2email will use STARTTLS_ to encrypt the connection before sending
your login credentials to the server.
__ `Simple Mail Transport Protocol`_
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`` directory, then you would change the Run
entry from ``C:\rss2email\r2e.bat``
to ``C:\rss2email\r2e.bat run``.
__ `windows scheduler`_
On Unix/Linux systems, you should add a cron_ job that runs ``r2e``.
For example, run ``r2e`` every night (at 1:23 am) with::
23 1 * * * r2e run
Development
===========
User discussion and development take place on the rss2email mailing
list at ``[email protected]``. Everyone is welcome to post bug
reports, feature requests, comments, and patches. To subscribe to the
list, send an email to ``[email protected]``. The
mailing list archives are available on Gmane_.
.. _Debian package:
http://packages.qa.debian.org/r/rss2email.html
.. _Ubuntu package:
https://launchpad.net/ubuntu/+source/rss2email
.. _Fedora package:
https://admin.fedoraproject.org/pkgdb/acls/name/rss2email
.. _openSUSE package:
https://build.opensuse.org/package/show?package=rss2email&project=server%3Amail
.. _NetBSD package:
http://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/mail/rss2email/README.html
.. _Gentoo package:
http://gpo.zugaina.org/net-mail/rss2email
.. _Python: http://www.python.org
.. _feedparser: http://pypi.python.org/pypi/feedparser
.. _html2text: http://pypi.python.org/pypi/html2text
.. _Git: http://git-scm.com/
.. _Simple Mail Transport Protocol: http://en.wikipedia.org/wiki/Simple_Mail_Transport_Protocol
.. _TLS/SSL: http://en.wikipedia.org/wiki/Transport_Layer_Security
.. _STARTTLS: http://en.wikipedia.org/wiki/STARTTLS
.. _windows scheduler: http://www.iopus.com/guides/winscheduler.htm
.. _cron: http://en.wikipedia.org/wiki/Cron
.. _Gmane: http://dir.gmane.org/gmane.mail.rss2email