1R2E(1) General Commands Manual R2E(1)
2
3
4
6 r2e - receive RSS feeds by email
7
9 r2e [options] <command> [<args>]
10
12 r2e is a simple program which you can run in your crontab(5). It
13 watches RSS feeds and sends you nicely formatted email message for each
14 new item.
15
16 For a quick start with r2e try these steps:
17
18 r2e new your@yourdomain.com
19 r2e add feedname http://feed.url/somewhere.rss
20 r2e run
21
22
23 The last command should eventually be put into your crontab if you want
24 things be sent you automatically.
25
27 -h, --help
28 Print the rss2email help and exit.
29
30 -v, --version
31 Print the rss2email version and exit.
32
33 --full-version
34 Print the versions of Python, the compiler used to compile Python,
35 and packages used by rss2email.
36
37 -c, --config <path>
38 The program configuration is read from $XDG_CON‐
39 FIG_HOME/rss2mail.cfg by default (see also FILES and ENVIRONMENT
40 VARIABLES below). Use this option to set a different configuration
41 file.
42
43 -d, --data <path>
44 Dynamic program data is read from $XDG_DATA_HOME/rss2mail.json by
45 default (see also FILES and ENVIRONMENT VARIABLES below). Use this
46 option to set a different data file.
47
48 -V, --verbose
49 Increment the logging verbosity.
50
52 new [<email>]
53 Create a new feed database. If the <email> argument is given, it
54 sets the default email address that mails are sent to.
55
56 email [<email>]
57 Update the default target email address to <email>.
58
59 add <name> <url> [<email>]
60 Subscribe to a feed. The <name> argument gives the feed a name for
61 future manipulation. <url> is the URL of the feed. The optional
62 <email> argument is the email address to send new items to, over‐
63 riding the default address for this particular feed. Repeat for
64 each feed you want to subscribe to.
65
66 run [--no-send] [--clean] [<index> [<index> ...]]
67 Scan the feeds and send emails for new items. This can be run in a
68 cron job.
69
70 The --no-send option stops r2e from sending any email. This can be
71 useful the first time you run it, as otherwise it would send an
72 email for every available feed entry.
73
74 The --clean option reduces the database size by removing old en‐
75 tries. It forces a download of selected feeds or all feeds, and
76 should only be used weekly or monthly.
77
78 If an <index> is specified, r2e will only download that feed. <in‐
79 dex> can be either the feed name (as set by add) or the feed index
80 (as shown by list).
81
82 list List all the feeds in the database.
83
84 pause [<index> [<index> ...]]
85 Pause feeds (disable fetching). The <index> option selects the
86 feed(s) to pause (see run for possible values). If no <index>
87 is given, all feeds are paused.
88
89 unpause [<index> [<index> ...]]
90 Unpause feeds (enable fetching).
91
92 delete <index> [<index> [<index> ...]]
93 Remove a feed (or feeds) from the database. The <index> option
94 selects the feed(s) to delete (see run for possible values).
95
96 reset [<index> [<index> ...]]
97 Forget dynamic feed data (e.g. to re-send old entries). The
98 <index> option selects the feed(s) to reset (see run for possi‐
99 ble values). If no <index> is given, all feeds are reset.
100
101 opmlimport [<path>]
102 Import new feeds from OPML. <path> is the file from which the
103 OPML data will be read. If <path> is not given r2e reads the
104 data from stdin.
105
106 opmlexport [<path>]
107 Export all feeds to OPML. <path> is the file to which the OPML
108 data will be written. If <path> is not given r2e writes the
109 data to stdout.
110
112 The program's behavior can be controlled via the $XDG_CON‐
113 FIG_HOME/rss2email.cfg (see also FILES and ENVIRONMENT VARIABLES be‐
114 low). The file format is similar to a Microsoft Windows INI file. It
115 is parsed by Python's ConfigParser class, so see the Python documenta‐
116 tion at http://docs.python.org/3/library/configparser.html for format
117 details.
118
119 The config file stores general configuration (applied to all feeds) in
120 the [DEFAULT] section. The new command will create a configuration
121 file for you, which you can edit as you see fit. The add command will
122 add feed-specific sections. To override any a setting for all feeds,
123 change the value in the [DEFAULT] section. To override a setting for a
124 particular feed, add that setting to the feed-specific section. Here
125 is an example overriding use-publisher-email and name-format for the
126 feedname feed.
127
128 [DEFAULT]
129 from = user@rss2email.invalid
130 force-from = False
131 use-publisher-email = False
132 name-format = {feed-title}: {author}
133 ...
134 verbose = warning
135
136 [feed.feedname]
137 url = http://feed.url/somewhere.rss
138 use-publisher-email = True
139 name-format = {author} ({feed.title})
140
141 You can configure the following items:
142
143 Addressing
144 from The email address messages are from by default
145
146 use-8bit
147 Transfer-Encoding. For local mailing it is safe and convenient
148 to use 8bit.
149
150 force-from
151 True: Only use the 'from' address. False: Use the email address
152 specified by the feed, when possible.
153
154 use-publisher-email
155 True: Use the publisher's email if you can't find the author's.
156 False: Just use the 'from' email instead.
157
158 name-format
159 If empty, only use the feed email address rather than friendly
160 name plus email address. Available attributes may include
161 'feed', 'feed-name', 'feed-url', 'feed-title', 'author', and
162
163 to Set this to default To email addresses.
164
165 Fetching
166 proxy Set an HTTP proxy (e.g. 'http://your.proxy.here:8080/')
167
168 feed-timeout
169 Set the timeout (in seconds) for feed server response
170
171 Processing
172 active True: Fetch, process, and email feeds. False: Don't fetch,
173 process, or email feeds
174
175 digest True: Send a single, multi-entry email per feed per rss2email
176 run. False: Send a single email per entry.
177
178 date-header
179 True: Generate Date header based on item's date, when possible.
180 False: Generate Date header based on time sent.
181
182 date-header-order
183 A comma-delimited list of some combination of ('issued', 'cre‐
184 ated', 'modified', 'expired') expressing ordered list of prefer‐
185 ence in dates to use for the Date header of the email.
186
187 bonus-header
188 Set this to add bonus headers to all emails Example: bonus-
189 header = 'Approved: joe@bob.org'
190
191 trust-guid
192 True: Receive one email per post. False: Receive an email every
193 time a post changes.
194
195 trust-link
196 True: Receive one email per unique link url. False: Defer to
197 trust-guid preference. Toggling this for existing feeds may re‐
198 sult in duplicates, because the old entries will not be recorded
199 under their new link-based ids.
200
201 encodings
202 To most correctly encode emails with international characters,
203 we iterate through the list below and use the first character
204 set that works.
205
206 post-process
207 User processing hooks. Note the space after the module name.
208 Example: post-process = 'rss2email.post_process.downcase down‐
209 case_message'
210
211 digest-post-process
212 User processing hooks for digest messages. If 'digest' is en‐
213 abled, the usual 'post-process' hook gets to message the per-en‐
214 try messages, but this hook is called with the full digest mes‐
215 sage before it is mailed. Example: digest-post-process =
216 'rss2email.post_process.downcase downcase_message'
217
218 HTML conversion
219 html-mail
220 True: Send text/html messages when possible. False: Convert
221 HTML to plain text.
222
223 use-css
224 Use CSS
225
226 css Optional CSS styling
227
228 html2text options
229 unicode-snob
230 Use Unicode characters instead of their ascii psuedo-replace‐
231 ments
232
233 links-after-each-paragraph
234 Put the links after each paragraph instead of at the end.
235
236 inline-links
237 Use inline, rather than reference, formatting for images and
238 links.
239
240 wrap-links
241 Wrap links according to body width.
242
243 body-width
244 Wrap long lines at position. Any negative value for no wrapping,
245 0 for 78 width (compatibility), or any positive width.
246
247 Mailing
248 email-protocol
249 Select protocol from: sendmail, smtp, imap, maildir
250
251 sendmail
252 Path to sendmail (or compatible)
253
254 user-agent
255 String to use as User-Agent in outgoing emails. If present,
256 __VERSION__ and __URL__ are replaced with rss2email version num‐
257 ber and webpage
258
259 SMTP configuration
260 smtp-auth
261 Set to True to use SMTP AUTH
262
263 smtp-username
264 username for SMTP AUTH
265
266 smtp-password
267 password for SMTP AUTH
268
269 smtp-server
270 SMTP server
271
272 smtp-ssl
273 Connect to the SMTP server using SSL
274
275 IMAP configuration
276 imap-auth
277 set to True to use IMAP auth.
278
279 imap-username
280 username for IMAP authentication
281
282 imap-password
283 password for IMAP authentication
284
285 imap-server
286 IMAP server
287
288 imap-port
289 IMAP port
290
291 imap-ssl
292 connect to the IMAP server using SSL
293
294 imap-mailbox
295 where we should store new messages
296
297 Maildir configuration
298 maildir-path
299 Path of maildir to write messages into
300
301 maildir-mailbox
302 Mailbox within maildir-path to write messages into
303
304 Miscellaneous
305 verbose
306 Verbosity (one of 'error', 'warning', 'info', or 'debug').
307
309 $XDG_CONFIG_HOME/rss2email.cfg
310 If this file exists, it is read to configure the program.
311
312 $XDG_DATA_HOME/rss2email.json
313 The database of feeds. Use r2e to add, remove, or modify feeds, do
314 not edit it directly.
315
317 The environment variables used by r2e are all defined in the XDG Base
318 Directory Specification, which aims to standardize locations for user-
319 specific configuration and data files.
320
321 XDG_CONFIG_HOME
322 The preferred directory for configuration files. Defaults to
323 $HOME/.config.
324
325 XDG_DATA_HOME
326 The preferred directory for data files. Defaults to $HOME/.lo‐
327 cal/share.
328
329 XDG_RUNTIME_DIR
330 The preferred directory for lockfiles. Defaults to /tmp/rss2email-
331 UID
332
333 XDG_CONFIG_DIRS
334 A colon ':' separated, preference ordered list of base directories
335 for configuration files in addition to $XDG_CONFIG_HOME. Defaults
336 to /etc/xdg. If multiple configuration files are found in this
337 path, they will all be read by the ConfigParser class (see also
338 CONFIGURATION above).
339
340 XDG_DATA_DIRS
341 A colon ':' separated, preference ordered list of base directories
342 for data files. Defaults to /usr/local/share/:/usr/share/. Only
343 the first matching file is used.
344
346 rss2email was started by Aaron Swartz, and is currently maintained by a
347 group of people. For a more complete list of contributors, see the AU‐
348 THORS file in the rss2email distribution.
349
351 Report bugs by creating an issue at
352 ⟨https://github.com/rss2email/rss2email⟩.
353
354
355
356 R2E(1)