0
|
1 \input texinfo @comment -*-Texinfo-*-
|
|
2 @setfilename ../info/rmail.info
|
|
3 @settitle Rmail User's Manual
|
|
4 @iftex
|
|
5 @finalout
|
|
6 @end iftex
|
|
7 @c @setchapternewpage odd % For book style double sided manual.
|
|
8 @c @smallbook
|
|
9 @tex
|
|
10 \overfullrule=0pt
|
|
11 %\global\baselineskip 30pt % For printing in double spaces
|
|
12 @end tex
|
|
13 @ifinfo
|
|
14 This file documents the Rmail mail reader.
|
|
15
|
|
16 Copyright (C) 1991 Free Software Foundation
|
|
17
|
|
18 Permission is granted to make and distribute verbatim copies of
|
|
19 this manual provided the copyright notice and this permission notice
|
|
20 are preserved on all copies.
|
|
21
|
|
22 @ignore
|
|
23 Permission is granted to process this file through Tex and print the
|
|
24 results, provided the printed document carries copying permission
|
|
25 notice identical to this one except for the removal of this paragraph
|
|
26 (this paragraph not being relevant to the printed manual).
|
|
27
|
|
28 @end ignore
|
|
29 @end ifinfo
|
|
30 @c
|
|
31 @titlepage
|
|
32 @sp 6
|
|
33 @center @titlefont{Rmail User's Manual}
|
|
34 @sp 10
|
|
35 @center Free Software Foundation
|
|
36 @page
|
|
37 @vskip 0pt plus 1filll
|
|
38 Copyright @copyright{} 1991 Free Software Foundation
|
|
39
|
|
40 Permission is granted to make and distribute verbatim copies of
|
|
41 this manual provided the copyright notice and this permission notice
|
|
42 are preserved on all copies.
|
|
43
|
|
44 @end titlepage
|
|
45 @page
|
|
46
|
|
47 @node Top, Rmail Scrolling,, (DIR)
|
|
48
|
|
49 NOTE: The recommended mail reader in XEmacs is VM, which provides more
|
|
50 flexibility than Rmail and stores mail in standard Unix-mail-format
|
|
51 folders rather than in a special format. VM comes with its own
|
|
52 manual, included standard with XEmacs.
|
|
53
|
|
54 XEmacs also provides a sophisticated and comfortable front-end to the
|
|
55 MH mail-processing system, called @samp{mh-e}.
|
|
56
|
|
57 This manual documents the Rmail mail reader under Emacs.
|
|
58
|
|
59 Rmail is an Emacs subsystem for reading and disposing of mail that you
|
|
60 receive. Rmail stores mail messages in files called Rmail files. You read
|
|
61 the messages in an Rmail file in a special major mode, Rmail mode,
|
|
62 which redefines most letters to run commands for managing mail. To enter
|
|
63 Rmail, type @kbd{M-x rmail}. This reads your primary mail file, merges
|
|
64 new mail in from your inboxes, displays the first new message, and lets
|
|
65 you begin reading.
|
|
66
|
|
67 @cindex primary mail file
|
|
68 Using Rmail in the simplest fashion, you have one Rmail file,
|
|
69 @file{~/RMAIL}, in which all of your mail is saved. It is called your
|
|
70 @dfn{primary mail file}. You can also copy messages into other Rmail
|
|
71 files and then edit those files with Rmail.
|
|
72
|
|
73 Rmail displays only one message at a time. It is called the
|
|
74 @dfn{current message}. Rmail mode's special commands can move to
|
|
75 another message, delete the message, copy the message into another file,
|
|
76 or send a reply.
|
|
77
|
|
78 @cindex message number
|
|
79 Within the Rmail file, messages are arranged sequentially in order
|
|
80 of receipt. They are also assigned consecutive integers as their
|
|
81 @dfn{message numbers}. The number of the current message is displayed
|
|
82 in Rmail's mode line, followed by the total number of messages in the
|
|
83 file. You can move to a message by specifying its message number
|
|
84 using the @kbd{j} key (@pxref{Rmail Motion}).
|
|
85
|
|
86 @kindex s (Rmail)
|
|
87 @findex rmail-save
|
|
88 Following the usual conventions of Emacs, changes in an Rmail file become
|
|
89 permanent only when the file is saved. You can do this with @kbd{s}
|
|
90 (@code{rmail-save}), which also expunges deleted messages from the file
|
|
91 first (@pxref{Rmail Deletion}). To save the file without expunging, use
|
|
92 @kbd{C-x C-s}. Rmail saves the Rmail file automatically when moving new
|
|
93 mail from an inbox file (@pxref{Rmail Inbox}).
|
|
94
|
|
95 @kindex q (Rmail)
|
|
96 @findex rmail-quit
|
|
97 You can exit Rmail with @kbd{q} (@code{rmail-quit}); this expunges and
|
|
98 saves the Rmail file and then switches to another buffer. However, there is
|
|
99 no need to `exit' formally. If you switch from Rmail to editing in
|
|
100 other buffers, and never happen to switch back, you have exited. Just
|
|
101 make sure to save the Rmail file eventually (like any other file you
|
|
102 have changed). @kbd{C-x s} is a good enough way to do this.
|
|
103
|
|
104 @menu
|
|
105 * Scroll: Rmail Scrolling. Scrolling through a message.
|
|
106 * Motion: Rmail Motion. Moving to another message.
|
|
107 * Deletion: Rmail Deletion. Deleting and expunging messages.
|
|
108 * Inbox: Rmail Inbox. How mail gets into the Rmail file.
|
|
109 * Files: Rmail Files. Using multiple Rmail files.
|
|
110 * Output: Rmail Output. Copying message out to files.
|
|
111 * Labels: Rmail Labels. Classifying messages by labeling them.
|
|
112 * Summary: Rmail Summary. Summaries show brief info on many messages.
|
|
113 * Reply: Rmail Reply. Sending replies to messages you are viewing.
|
|
114 * Editing: Rmail Editing. Editing message text and headers in Rmail.
|
|
115 * Digest: Rmail Digest. Extracting the messages from a digest message.
|
|
116 @end menu
|
|
117
|
|
118 @node Rmail Scrolling, Rmail Motion, Top, Top
|
|
119 @chapter Scrolling Within a Message
|
|
120
|
|
121 When Rmail displays a message that does not fit on the screen, you
|
|
122 have to scroll through it. You could use @kbd{C-v}, @kbd{M-v},
|
|
123 and @kbd{M-<}, but scrolling is so frequent in Rmail that it deserves to be
|
|
124 easier to type.
|
|
125
|
|
126 @table @kbd
|
|
127 @item @key{SPC}
|
|
128 Scroll forward (@code{scroll-up}).
|
|
129 @item @key{DEL}
|
|
130 Scroll backward (@code{scroll-down}).
|
|
131 @item .
|
|
132 Scroll to start of message (@code{rmail-beginning-of-message}).
|
|
133 @end table
|
|
134
|
|
135 @kindex SPC (Rmail)
|
|
136 @kindex DEL (Rmail)
|
|
137 Since the most common thing to do while reading a message is to scroll
|
|
138 through it by screenfuls, Rmail makes @key{SPC} and @key{DEL} synonyms of
|
|
139 @kbd{C-v} (@code{scroll-up}) and @kbd{M-v} (@code{scroll-down})
|
|
140
|
|
141 @kindex . (Rmail)
|
|
142 @findex rmail-beginning-of-message
|
|
143 The command @kbd{.} (@code{rmail-beginning-of-message}) scrolls back to the
|
|
144 beginning of a selected message. This is not quite the same as @kbd{M-<}:
|
|
145 first, it does not set the mark; secondly, it resets the buffer
|
|
146 boundaries to the current message if you have changed them.
|
|
147
|
|
148 @node Rmail Motion, Rmail Deletion, Rmail Scrolling, Top
|
|
149 @chapter Moving Among Messages
|
|
150
|
|
151 The most basic thing to do with a message is to read it. The way to
|
|
152 do this in Rmail is to make the message current. You can make any
|
|
153 message current, given its message number, by using the @kbd{j} command, but
|
|
154 people most often move sequentially through the file, since this is the
|
|
155 order of receipt of messages. When you enter Rmail, you are positioned
|
|
156 at the first new message (new messages are those received after you last
|
|
157 used Rmail), or at the last message if there are no new messages this
|
|
158 time. Move forward to see other new messages if there are any; move
|
|
159 backward to re-examine old messages.
|
|
160
|
|
161 @table @kbd
|
|
162 @item n
|
|
163 Move to the next non-deleted message, skipping any intervening deleted @*
|
|
164 messages (@code{rmail-next-undeleted-message}).
|
|
165 @item p
|
|
166 Move to the previous non-deleted message @*
|
|
167 (@code{rmail-previous-undeleted-message}).
|
|
168 @item M-n
|
|
169 Move to the next message, including deleted messages
|
|
170 (@code{rmail-next-message}).
|
|
171 @item M-p
|
|
172 Move to the previous message, including deleted messages
|
|
173 (@code{rmail-previous-message}).
|
|
174 @item j
|
|
175 Move to the first message. With argument @var{n}, move to
|
|
176 message number @var{n} (@code{rmail-show-message}).
|
|
177 @item >
|
|
178 Move to the last message (@code{rmail-last-message}).
|
|
179
|
|
180 @item M-s @var{regexp} @key{RET}
|
|
181 Move to the next message containing a match for @var{regexp}
|
|
182 (@code{rmail-search}). If @var{regexp} is empty, the last regexp used is
|
|
183 used again.
|
|
184
|
|
185 @item - M-s @var{regexp} @key{RET}
|
|
186 Move to the previous message containing a match for @var{regexp}.
|
|
187 If @var{regexp} is empty, the last regexp used is used again.
|
|
188 @end table
|
|
189
|
|
190 @kindex n (Rmail)
|
|
191 @kindex p (Rmail)
|
|
192 @kindex M-n (Rmail)
|
|
193 @kindex M-p (Rmail)
|
|
194 @findex rmail-next-undeleted-message
|
|
195 @findex rmail-previous-undeleted-message
|
|
196 @findex rmail-next-message
|
|
197 @findex rmail-previous-message
|
|
198 To move among messages in Rmail, you can use @kbd{n} and @kbd{p}.
|
|
199 These keys move through the messages sequentially but skip over deleted
|
|
200 messages, which is usually what you want to do. Their command
|
|
201 definitions are named @code{rmail-next-undeleted-message} and
|
|
202 @code{rmail-previous-undeleted-message}. If you do not want to skip
|
|
203 deleted messages---for example, if you want to move to a message to
|
|
204 undelete it---use the variants @kbd{M-n} (@code{rmail-next-message}) and
|
|
205 @kbd{M-p} (@code{rmail-previous-message}). A numeric argument to any of
|
|
206 these commands serves as a repeat count.@refill
|
|
207
|
|
208 In Rmail, you can specify a numeric argument by just typing the digits.
|
|
209 It is not necessary to type @kbd{C-u} first.
|
|
210
|
|
211 @kindex M-s (Rmail)
|
|
212 @findex rmail-search
|
|
213 The @kbd{M-s} (@code{rmail-search}) command is Rmail's version of
|
|
214 search. The usual incremental search command @kbd{C-s} works in Rmail,
|
|
215 but searches only within the current message. The purpose of @kbd{M-s}
|
|
216 is to search for another message. It reads a regular expression
|
|
217 non-incrementally, then starts searching at the beginning of the
|
|
218 following message for a match. The message containing the match is
|
|
219 selected.
|
|
220
|
|
221 To search backward in the file for another message, give @kbd{M-s} a
|
|
222 negative argument. In Rmail you can do this with @kbd{- M-s}.
|
|
223
|
|
224 It is also possible to search for a message based on labels.
|
|
225 @xref{Rmail Labels}.
|
|
226
|
|
227 @kindex j (Rmail)
|
|
228 @kindex > (Rmail)
|
|
229 @findex rmail-show-message
|
|
230 @findex rmail-last-message
|
|
231 To move to a message specified by absolute message number, use @kbd{j}
|
|
232 (@code{rmail-show-message}) with the message number as argument. With
|
|
233 no argument, @kbd{j} selects the first message. @kbd{>}
|
|
234 (@code{rmail-last-message}) selects the last message.
|
|
235
|
|
236 @node Rmail Deletion, Rmail Inbox, Rmail Motion, Top
|
|
237 @chapter Deleting Messages
|
|
238
|
|
239 @cindex deletion (Rmail)
|
|
240 When you no longer need to keep a message, you can @dfn{delete} it. This
|
|
241 flags it as ignorable, and some Rmail commands will pretend it is no longer
|
|
242 present, but it still has its place in the Rmail file and still has its
|
|
243 message number.
|
|
244
|
|
245 @cindex expunging (Rmail)
|
|
246 @dfn{Expunging} the Rmail file actually removes the deleted messages.
|
|
247 The remaining messages are renumbered consecutively. Expunging is the only
|
|
248 action that changes the message number of any message, except for
|
|
249 undigestifying (@pxref{Rmail Digest}).
|
|
250
|
|
251 @table @kbd
|
|
252 @item d
|
|
253 Delete the current message and move to the next non-deleted message
|
|
254 (@code{rmail-delete-forward}).
|
|
255 @item C-d
|
|
256 Delete the current message and move to the previous non-deleted
|
|
257 message (@code{rmail-delete-backward}).
|
|
258 @item u
|
|
259 Undelete the current message, or move back to a deleted message and
|
|
260 undelete it (@code{rmail-undelete-previous-message}).
|
|
261 @item e
|
|
262 @itemx x
|
|
263 Expunge the Rmail file (@code{rmail-expunge}). These two
|
|
264 commands are synonyms.
|
|
265 @end table
|
|
266
|
|
267 @kindex d (Rmail)
|
|
268 @kindex C-d (Rmail)
|
|
269 @findex rmail-delete-forward
|
|
270 @findex rmail-delete-backward
|
|
271 There are two Rmail commands for deleting messages. Both delete the
|
|
272 current message and select another message. @kbd{d}
|
|
273 (@code{rmail-delete-forward}) moves to the following message, skipping
|
|
274 messages already deleted, while @kbd{C-d} (@code{rmail-delete-backward})
|
|
275 moves to the previous non-deleted message. If there is no non-deleted
|
|
276 message to move to in the specified direction, the message that was just
|
|
277 deleted remains current.
|
|
278
|
|
279 @cindex undeletion (Rmail)
|
|
280 @kindex e (Rmail)
|
|
281 @findex rmail-expunge
|
|
282 To make all deleted messages disappear from the Rmail file, type
|
|
283 @kbd{e} (@code{rmail-expunge}). Until you do this, you can still
|
|
284 @dfn{undelete} the deleted messages.
|
|
285
|
|
286 @kindex u (Rmail)
|
|
287 @findex rmail-undelete-previous-message
|
|
288 To undelete, type
|
|
289 @kbd{u} (@code{rmail-undelete-previous-message}), which cancels the
|
|
290 effect of a @kbd{d} command (usually). It undeletes the current message
|
|
291 if the current message is deleted. Otherwise it moves backward to previous
|
|
292 messages until a deleted message is found, and undeletes that message.
|
|
293
|
|
294 You can usually undo a @kbd{d} with a @kbd{u} because the @kbd{u}
|
|
295 moves back to and undeletes the message that the @kbd{d} deleted. This
|
|
296 does not work when the @kbd{d} skips a few already-deleted messages that
|
|
297 follow the message being deleted; in that case the @kbd{u} command
|
|
298 undeletes the last of the messages that were skipped. There is no clean
|
|
299 way to avoid this problem. However, by repeating the @kbd{u} command,
|
|
300 you can eventually get back to the message you intended to
|
|
301 undelete. You can also reach that message with @kbd{M-p} commands and
|
|
302 then type @kbd{u}.@refill
|
|
303
|
|
304 A deleted message has the @samp{deleted} attribute, and as a result
|
|
305 @samp{deleted} appears in the mode line when the current message is
|
|
306 deleted. In fact, deleting or undeleting a message is nothing more than
|
|
307 adding or removing this attribute. @xref{Rmail Labels}.
|
|
308
|
|
309 @node Rmail Inbox, Rmail Files, Rmail Deletion, Top
|
|
310 @chapter Rmail Files and Inboxes
|
|
311 @cindex inbox file
|
|
312
|
|
313 Unix places your incoming mail in a file called your @dfn{inbox}.
|
|
314 When you start up Rmail, it copies the new messages from your inbox into
|
|
315 your primary mail file, an Rmail file which also contains other messages
|
|
316 saved from previous Rmail sessions. In this file, you actually
|
|
317 read the mail with Rmail. The operation is called @dfn{getting new mail}.
|
|
318 You can repeat it at any time using the @kbd{g} key in Rmail. The inbox
|
|
319 file name is @file{/usr/spool/mail/@var{username}} in Berkeley Unix,
|
|
320 @file{/usr/mail/@var{username}} in system V.
|
|
321
|
|
322 There are two reason for having separate Rmail files and inboxes.
|
|
323
|
|
324 @enumerate
|
|
325 @item
|
|
326 The format in which Unix delivers the mail in the inbox is not
|
|
327 adequate for Rmail mail storage. It has no way to record attributes
|
|
328 (such as @samp{deleted}) or user-specified labels; it has no way to record
|
|
329 old headers and reformatted headers; it has no way to record cached
|
|
330 summary line information.
|
|
331
|
|
332 @item
|
|
333 It is very cumbersome to access an inbox file without danger of losing
|
|
334 mail, because it is necessary to interlock with mail delivery.
|
|
335 Moreover, different Unix systems use different interlocking
|
|
336 techniques. The strategy of moving mail out of the inbox once and for
|
|
337 all into a separate Rmail file avoids the need for interlocking in all
|
|
338 the rest of Rmail, since only Rmail operates on the Rmail file.
|
|
339 @end enumerate
|
|
340
|
|
341 When getting new mail, Rmail first copies the new mail from the inbox
|
|
342 file to the Rmail file and saves the Rmail file. It then deletes the
|
|
343 inbox file. This way a system crash may cause duplication of mail between
|
|
344 the inbox and the Rmail file, but it cannot lose mail.
|
|
345
|
|
346 Copying mail from an inbox in the system's mailer directory actually puts
|
|
347 it in an intermediate file, @file{~/.newmail}. This is because the
|
|
348 interlocking is done by a C program that copies to another file.
|
|
349 @file{~/.newmail} is deleted after mail merging is successful. If there is
|
|
350 a crash at the wrong time, this file will continue to exist and will be
|
|
351 used as an inbox the next time you get new mail.
|
|
352
|
|
353 @node Rmail Files, Rmail Output, Rmail Inbox, Top
|
|
354 @chapter Multiple Mail Files
|
|
355
|
|
356 Rmail operates by default on your @dfn{primary mail file}, which is
|
|
357 named @file{~/RMAIL} and which receives your incoming mail from your
|
|
358 system inbox file. You can also have other mail files and edit them with
|
|
359 Rmail. These files can receive mail through their own inboxes, or you
|
|
360 can move messages into them by explicit command in Rmail (@pxref{Rmail
|
|
361 Output}).
|
|
362
|
|
363 @table @kbd
|
|
364 @item i @var{file} @key{RET}
|
|
365 Read @var{file} into Emacs and run Rmail on it (@code{rmail-input}).
|
|
366
|
|
367 @item M-x set-rmail-inbox-list @key{RET} @var{files} @key{RET}
|
|
368 Specify inbox file names for current Rmail file to get mail from.
|
|
369
|
|
370 @item g
|
|
371 Merge new mail from current Rmail file's inboxes
|
|
372 (@code{rmail-get-new-mail}).
|
|
373
|
|
374 @item C-u g @var{file}
|
|
375 Merge new mail from inbox file @var{file}.
|
|
376 @end table
|
|
377
|
|
378 @kindex i (Rmail)
|
|
379 @findex rmail-input
|
|
380 To run Rmail on a file other than your primary mail file, you may use
|
|
381 the @kbd{i} (@code{rmail-input}) command in Rmail. This visits the
|
|
382 file, puts it in Rmail mode, and then gets new mail from the file's
|
|
383 inboxes if any. You can also use @kbd{M-x rmail-input} even when not in
|
|
384 Rmail.
|
|
385
|
|
386 The file you read with @kbd{i} does not have to be in Rmail file format.
|
|
387 It could also be Unix mail format, mmdf format, or it could be a mixture
|
|
388 of all three, as long as each message has one of the three formats.
|
|
389 Rmail recognizes all three and converts all the messages to proper Rmail
|
|
390 format before showing you the file.
|
|
391
|
|
392 @findex set-rmail-inbox-list
|
|
393 Each Rmail file can contain a list of inbox file names; you can specify
|
|
394 this list with @kbd{M-x set-rmail-inbox-list @key{RET} @var{files}
|
|
395 @key{RET}}. The argument can contain any number of file names, separated
|
|
396 by commas. It can also be empty, which specifies that this file should
|
|
397 have no inboxes. Once a list of inboxes is specified, the Rmail file
|
|
398 remembers it permanently until it is explicitly changed.@refill
|
|
399
|
|
400 @kindex g (Rmail)
|
|
401 @findex rmail-get-new-mail
|
|
402 If an Rmail file has inboxes, new mail is merged in from the inboxes
|
|
403 when you bring the Rmail file into Rmail, and when you use the @kbd{g}
|
|
404 (@code{rmail-get-new-mail}) command. If the Rmail file
|
|
405 specifies no inboxes, then no new mail is merged in at these times. A
|
|
406 special exception is made for your primary mail file: Rmail uses the
|
|
407 standard system inbox for it if it does not specify an inbox.
|
|
408
|
|
409 To merge mail from a file that is not the usual inbox, give the
|
|
410 @kbd{g} key a numeric argument, as in @kbd{C-u g}. Rmail prompts you
|
|
411 for a file name and merges mail from that file. The inbox file is not
|
|
412 deleted or changed at all when you use @kbd{g} with an argument, so this
|
|
413 is a general way of merging one file of messages into another.
|
|
414
|
|
415 @node Rmail Output, Rmail Labels, Rmail Files, Top
|
|
416 @chapter Copying Messages Out to Files
|
|
417
|
|
418 @table @kbd
|
|
419 @item o @var{file} @key{RET}
|
|
420 Append a copy of the current message to the file @var{file},
|
|
421 writing it in Rmail file format (@code{rmail-output-to-rmail-file}).
|
|
422
|
|
423 @item C-o @var{file} @key{RET}
|
|
424 Append a copy of the current message to the file @var{file},
|
|
425 writing it in Unix mail file format (@code{rmail-output}).
|
|
426 @end table
|
|
427
|
|
428 @kindex o (Rmail)
|
|
429 @findex rmail-output-to-rmail-file
|
|
430 @kindex C-o (Rmail)
|
|
431 @findex rmail-output
|
|
432 If an Rmail file has no inboxes, use explicit @kbd{o} commands to
|
|
433 write Rmail files.
|
|
434
|
|
435 @kbd{o} (@code{rmail-output-to-rmail-file}) appends the current
|
|
436 message in Rmail format to the end of a specified file. This is the
|
|
437 best command to use to move messages between Rmail files. If you are
|
|
438 currently visiting the other Rmail file, copying is done into the other
|
|
439 file's Emacs buffer instead. You should eventually save the buffer on
|
|
440 disk.
|
|
441
|
|
442 The @kbd{C-o} (@code{rmail-output}) command in Rmail appends a copy of
|
|
443 the current message to a specified file, in Unix mail file format. This
|
|
444 is useful for moving messages into files to be read by other mail
|
|
445 processors that do not understand Rmail format.
|
|
446
|
|
447 Copying a message with @kbd{o} or @kbd{C-o} gives the original copy of the
|
|
448 message the @samp{filed} attribute. @samp{filed} appears in the mode
|
|
449 line when such a message is current.
|
|
450
|
|
451 Normally you should use only @kbd{o} to output messages to other Rmail
|
|
452 files, never @kbd{C-o}. But it is also safe if you always use
|
|
453 @kbd{C-o}, never @kbd{o}. When a file is visited in Rmail, the last
|
|
454 message is checked, and if it is in Unix format, the entire file is
|
|
455 scanned and all Unix-format messages are converted to Rmail format.
|
|
456 (The reason for checking the last message is that scanning the file is
|
|
457 slow and most Rmail files have only Rmail format messages.) If you use
|
|
458 @kbd{C-o} consistently, the last message is guaranteed to be in Unix
|
|
459 format, so Rmail will convert all messages properly.
|
|
460
|
|
461 When you and other users want to append mail to the same file, you
|
|
462 probably always want to use @kbd{C-o} instead of @kbd{o}. Other mail
|
|
463 processors may not know Rmail format but will know Unix format.
|
|
464
|
|
465 In any case, always use @kbd{o} to add to an Rmail file that is being
|
|
466 visited in Rmail. Adding messages with @kbd{C-o} to the actual disk file
|
|
467 will trigger a ``simultaneous editing'' warning when you ask to save the
|
|
468 Emacs buffer, and the messages will be lost if you do save.
|
|
469
|
|
470 @node Rmail Labels, Rmail Summary, Rmail Output, Top
|
|
471 @chapter Labels
|
|
472 @cindex label (Rmail)
|
|
473 @cindex attribute (Rmail)
|
|
474
|
|
475 Each message can have various @dfn{labels} assigned to it as a means of
|
|
476 classification. A label has a name; different names mean different labels.
|
|
477 Any given label is either present or absent on a particular message. A few
|
|
478 label names have standard meanings and are given to messages automatically
|
|
479 by Rmail when appropriate; these special labels are called @dfn{attributes}.
|
|
480 All other labels are assigned by the user.
|
|
481
|
|
482 @table @kbd
|
|
483 @item a @var{label} @key{RET}
|
|
484 Assign the label @var{label} to the current message (@code{rmail-add-label}).
|
|
485 @item k @var{label} @key{RET}
|
|
486 Remove the label @var{label} from the current message (@code{rmail-kill-label}).
|
|
487 @item C-M-n @var{labels} @key{RET}
|
|
488 Move to the next message that has one of the labels @var{labels}
|
|
489 (@code{rmail-next-labeled-message}).
|
|
490 @item C-M-p @var{labels} @key{RET}
|
|
491 Move to the previous message that has one of the labels @var{labels}
|
|
492 (@code{rmail-previous-labeled-message}).
|
|
493 @item C-M-l @var{labels} @key{RET}
|
|
494 Make a summary of all messages containing any of the labels @var{labels}
|
|
495 (@code{rmail-summary-by-labels}).
|
|
496 @end table
|
|
497
|
|
498 @noindent
|
|
499 Specifying an empty string for one these commands means to use the last
|
|
500 label specified for any of these commands.
|
|
501
|
|
502 @kindex a (Rmail)
|
|
503 @kindex k (rmail)
|
|
504 @findex rmail-add-label
|
|
505 @findex rmail-kill-label
|
|
506 The @kbd{a} (@code{rmail-add-label}) and @kbd{k}
|
|
507 (@code{rmail-kill-label}) commands allow you to assign or remove any
|
|
508 label on the current message. If the @var{label} argument is empty, it
|
|
509 means to assign or remove the label most recently assigned or
|
|
510 removed.
|
|
511
|
|
512 Once you have given messages labels to classify them as you wish, there
|
|
513 are two ways to use the labels: in moving and in summaries.
|
|
514
|
|
515 @kindex C-M-n (Rmail)
|
|
516 @kindex C-M-p (Rmail)
|
|
517 @findex rmail-next-labeled-message
|
|
518 @findex rmail-previous-labeled-message
|
|
519 The command @kbd{C-M-n @var{labels} @key{RET}}
|
|
520 (@code{rmail-next-labeled-message}) moves to the next message that has one
|
|
521 of the labels @var{labels}. @var{labels} is one or more label names,
|
|
522 separated by commas. @kbd{C-M-p} (@code{rmail-previous-labeled-message})
|
|
523 is similar, but moves backwards to previous messages. A preceding numeric
|
|
524 argument to either one serves as a repeat count.@refill
|
|
525
|
|
526 @kindex C-M-l (Rmail)
|
|
527 @findex rmail-summary-by-labels
|
|
528 The command @kbd{C-M-l @var{labels} @key{RET}}
|
|
529 (@code{rmail-summary-by-labels}) displays a summary containing only the
|
|
530 messages that have at least one of a specified set of messages. The
|
|
531 argument @var{labels} is one or more label names, separated by commas.
|
|
532 @xref{Rmail Summary}, for information on summaries.@refill
|
|
533
|
|
534 If the @var{labels} argument to @kbd{C-M-n}, @kbd{C-M-p} or
|
|
535 @kbd{C-M-l} is empty, it means to use the last set of labels specified
|
|
536 for any of these commands.
|
|
537
|
|
538 Some labels such as @samp{deleted} and @samp{filed} have built-in
|
|
539 meanings and are assigned to or removed from messages automatically at
|
|
540 appropriate times; these labels are called @dfn{attributes}. Here is a
|
|
541 list of Rmail attributes:
|
|
542
|
|
543 @table @samp
|
|
544 @item unseen
|
|
545 Means the message has never been current. Assigned to messages when
|
|
546 they come from an inbox file, and removed when a message is made
|
|
547 current.
|
|
548 @item deleted
|
|
549 Means the message is deleted. Assigned by deletion commands and
|
|
550 removed by undeletion commands (@pxref{Rmail Deletion}).
|
|
551 @item filed
|
|
552 Means the message has been copied to some other file. Assigned by the
|
|
553 file output commands (@pxref{Rmail Files}).
|
|
554 @item answered
|
|
555 Means you have mailed an answer to the message. Assigned by the @kbd{r}
|
|
556 command (@code{rmail-reply}). @xref{Rmail Reply}.
|
|
557 @item forwarded
|
|
558 Means you have forwarded the message to other users. Assigned by the
|
|
559 @kbd{f} command (@code{rmail-forward}). @xref{Rmail Reply}.
|
|
560 @item edited
|
|
561 Means you have edited the text of the message within Rmail.
|
|
562 @xref{Rmail Editing}.
|
|
563 @end table
|
|
564
|
|
565 All other labels are assigned or removed only by the user, and it is up
|
|
566 to the user to decide what they mean.
|
|
567
|
|
568 @node Rmail Summary, Rmail Reply, Rmail Labels, Top
|
|
569 @chapter Summaries
|
|
570 @cindex summary (Rmail)
|
|
571
|
|
572 A @dfn{summary} is a buffer Rmail creates and displays to give you an
|
|
573 overview of the mail in an Rmail file. It contains one line per message;
|
|
574 each line shows the message number, the sender, the labels, and the
|
|
575 subject. When you select the summary buffer, you can use a number of
|
|
576 commands to select messages by moving in the summary buffer, or to
|
|
577 delete or undelete messages.
|
|
578
|
|
579 A summary buffer applies to a single Rmail file only; if you are
|
|
580 editing multiple Rmail files, they have separate summary buffers. The
|
|
581 summary buffer name is generated by appending @samp{-summary} to the
|
|
582 Rmail buffer's name. Only one summary buffer is displayed at a
|
|
583 time unless you make several windows and select the summary buffers by
|
|
584 hand.
|
|
585
|
|
586 @menu
|
|
587 * Rmail Make Summary:: Making various sorts of summaries.
|
|
588 * Rmail Summary Edit:: Manipulating messages from the summary.
|
|
589 @end menu
|
|
590
|
|
591 @node Rmail Make Summary, Rmail Summary Edit, Rmail Summary, Rmail Summary
|
|
592 @section Making Summaries
|
|
593
|
|
594 Here are the commands to create a summary for the current Rmail file.
|
|
595 Summaries do not update automatically; to make an updated summary, you
|
|
596 must use one of the commands again.
|
|
597
|
|
598 @table @kbd
|
|
599 @item h
|
|
600 @itemx C-M-h
|
|
601 Summarize all messages (@code{rmail-summary}).
|
|
602 @item l @var{labels} @key{RET}
|
|
603 @itemx C-M-l @var{labels} @key{RET}
|
|
604 Summarize message that have one or more of the specified labels
|
|
605 (@code{rmail-summary-by-labels}).
|
|
606 @item C-M-r @var{rcpts} @key{RET}
|
|
607 Summarize messages that have one or more of the specified recipients
|
|
608 (@code{rmail-summary-by-recipients}).
|
|
609 @end table
|
|
610
|
|
611 @kindex h (Rmail)
|
|
612 @findex rmail-summary
|
|
613 The @kbd{h} or @kbd{C-M-h} (@code{rmail-summary}) command fills the
|
|
614 summary buffer for the current Rmail file with a summary of all the
|
|
615 messages in the file. It then displays and selects the summary buffer
|
|
616 in another window.
|
|
617
|
|
618 @kindex l (Rmail)
|
|
619 @kindex C-M-l (Rmail)
|
|
620 @findex rmail-summary-by-labels
|
|
621 The @kbd{l} or @kbd{C-M-l @var{labels} @key{RET}}
|
|
622 (@code{rmail-summary-by-labels}) makes
|
|
623 a partial summary mentioning only the messages that have one or more of the
|
|
624 labels @var{labels}. @var{labels} should contain label names separated by
|
|
625 commas.@refill
|
|
626
|
|
627 @kindex C-M-r (Rmail)
|
|
628 @findex rmail-summary-by-recipients
|
|
629 @kbd{C-M-r @var{rcpts} @key{RET}} (@code{rmail-summary-by-recipients})
|
|
630 makes a partial summary mentioning only the messages that have one or more
|
|
631 of the recipients @var{rcpts}. @var{rcpts} should contain mailing
|
|
632 addresses separated by commas.@refill
|
|
633
|
|
634 Note that there is only one summary buffer for any Rmail file; making one
|
|
635 kind of summary discards any previously made summary.
|
|
636
|
|
637 @node Rmail Summary Edit,, Rmail Make Summary, Rmail Summary
|
|
638 @section Editing in Summaries
|
|
639
|
|
640 Summary buffers are given the major mode Rmail Summary mode, which
|
|
641 provides the following special commands:
|
|
642
|
|
643 @table @kbd
|
|
644 @item j
|
|
645 Select the message described by the line that point is on
|
|
646 (@code{rmail-summary-goto-msg}).
|
|
647 @item C-n
|
|
648 Move to next line and select its message in Rmail
|
|
649 (@code{rmail-summary-next-all}).
|
|
650 @item C-p
|
|
651 Move to previous line and select its message
|
|
652 (@code{rmail-summary-@*previous-all}).
|
|
653 @item n
|
|
654 Move to next line, skipping lines saying `deleted', and select its
|
|
655 message (@code{rmail-summary-next-msg}).
|
|
656 @item p
|
|
657 Move to previous line, skipping lines saying `deleted', and select
|
|
658 its message (@code{rmail-summary-previous-msg}).
|
|
659 @item d
|
|
660 Delete the current line's message, then do like @kbd{n}
|
|
661 (@code{rmail-summary-delete-forward}).
|
|
662 @item u
|
|
663 Undelete and select this message or the previous deleted message in
|
|
664 the summary (@code{rmail-summary-undelete}).
|
|
665 @item @key{SPC}
|
|
666 Scroll the other window (presumably Rmail) forward
|
|
667 (@code{rmail-summary-scroll-msg-up}).
|
|
668 @item @key{DEL}
|
|
669 Scroll the other window backward (@code{rmail-summary-scroll-msg-down}).
|
|
670 @item x
|
|
671 Kill the summary window (@code{rmail-summary-exit}).
|
|
672 @item q
|
|
673 Exit Rmail (@code{rmail-summary-quit}).
|
|
674 @end table
|
|
675
|
|
676 @kindex C-n (Rmail summary)
|
|
677 @kindex C-p (Rmail summary)
|
|
678 @findex rmail-summary-next-all
|
|
679 @findex rmail-summary-previous-all
|
|
680 The keys @kbd{C-n}(@code{rmail-summary-next-all}) and @kbd{C-p}
|
|
681 (@code{rmail-summary-previous-all}) are modified in Rmail Summary mode.
|
|
682 In addition to moving point in the summary buffer, they also cause the
|
|
683 line's message to become current in the associated Rmail buffer. That
|
|
684 buffer is also made visible in another window if it is not currently
|
|
685 visible.
|
|
686
|
|
687 @kindex n (Rmail summary)
|
|
688 @kindex p (Rmail summary)
|
|
689 @findex rmail-summary-next-msg
|
|
690 @findex rmail-summary-previous-msg
|
|
691 @kbd{n} and @kbd{p} are similar to @kbd{C-n} and @kbd{C-p}, but skip
|
|
692 lines that say `message deleted'. They are like the @kbd{n} and @kbd{p}
|
|
693 keys of Rmail itself. Note, however, that in a partial summary these
|
|
694 commands move only among the message listed in the summary.@refill
|
|
695
|
|
696 @kindex j (Rmail summary)
|
|
697 @findex rmail-summary-goto-msg
|
|
698 The other Emacs cursor motion commands are not changed in Rmail
|
|
699 Summary mode, so it is easy to get the point on a line whose message is
|
|
700 not selected in Rmail. This can also happen if you switch to the Rmail
|
|
701 window and switch messages there. To get the Rmail buffer back in sync
|
|
702 with the summary, use the @kbd{j} (@code{rmail-summary-goto-msg})
|
|
703 command, which selects the message of the current summary line in Rmail.
|
|
704
|
|
705 @kindex d (Rmail summary)
|
|
706 @kindex u (Rmail summary)
|
|
707 @findex rmail-summary-delete-forward
|
|
708 @findex rmail-summary-undelete
|
|
709 Deletion and undeletion can also be done from the summary buffer.
|
|
710 They always work based on where point is located in the summary buffer,
|
|
711 ignoring which message is selected in Rmail. @kbd{d}
|
|
712 (@code{rmail-summary-delete-forward}) deletes the current line's
|
|
713 message, then moves to the next line whose message is not deleted and
|
|
714 selects that message. The inverse is @kbd{u}
|
|
715 (@code{rmail-summary-undelete}), which moves back (if necessary) to a
|
|
716 line whose message is deleted, undeletes that message, and selects it in
|
|
717 Rmail.
|
|
718
|
|
719 @kindex SPC (Rmail summary)
|
|
720 @kindex DEL (Rmail summary)
|
|
721 @findex rmail-summary-scroll-msg-down
|
|
722 @findex rmail-summary-scroll-msg-up
|
|
723 When moving through messages with the summary buffer, it is convenient
|
|
724 to be able to scroll the message while remaining in the summary window.
|
|
725 The commands @key{SPC} (@code{rmail-summary-scroll-msg-up}) and
|
|
726 @key{DEL} (@code{rmail-summary-scroll-msg-down}) do this. They scroll
|
|
727 the message just as they do when the Rmail buffer is selected.@refill
|
|
728
|
|
729 @kindex x (Rmail summary)
|
|
730 @findex rmail-summary-exit
|
|
731 When you are finished using the summary, type @kbd{x}
|
|
732 (@code{rmail-summary-exit}) to kill the summary buffer's window.
|
|
733
|
|
734 @kindex q (Rmail summary)
|
|
735 @findex rmail-summary-quit
|
|
736 You can also exit Rmail while in the summary. @kbd{q}
|
|
737 (@code{rmail-summary-quit}) kills the summary window, then saves the
|
|
738 Rmail file and switches to another buffer.
|
|
739
|
|
740 @node Rmail Reply, Rmail Editing, Rmail Summary, Top
|
|
741 @chapter Sending Replies
|
|
742
|
|
743 Rmail has several commands that use Mail mode to send mail. Only the
|
|
744 special commands of Rmail for entering Mail mode are documented here.
|
|
745 Note that the usual keys for sending mail, @kbd{C-x m} and @kbd{C-x 4
|
|
746 m}, are available in Rmail mode and work just as they usually do.@refill
|
|
747
|
|
748 @table @kbd
|
|
749 @item m
|
|
750 Send a message (@code{rmail-mail}).
|
|
751 @item c
|
|
752 Continue editing already started outgoing message (@code{rmail-continue}).
|
|
753 @item r
|
|
754 Send a reply to the current Rmail message (@code{rmail-reply}).
|
|
755 @item f
|
|
756 Forward current message to other users (@code{rmail-forward}).
|
|
757 @end table
|
|
758
|
|
759 @kindex r (Rmail)
|
|
760 @findex rmail-reply
|
|
761 @vindex rmail-dont-reply-to
|
|
762 @cindex reply to a message
|
|
763 To reply to a the message you are reading in Rmail, type @kbd{r}
|
|
764 (@code{rmail-reply}). This displays the @samp{*mail*} buffer in another
|
|
765 window, much like @kbd{C-x 4 m}, but pre-initializes the @samp{Subject},
|
|
766 @samp{To}, @samp{CC}, and @samp{In-reply-to} header fields based on the
|
|
767 message you reply to. The @samp{To} field is given the sender of
|
|
768 that message, and the @samp{CC} gets all the recipients of that message.
|
|
769 Recipients that match elements of the list
|
|
770 @code{rmail-dont-reply-to} are omitted; by default, this list contains
|
|
771 your own mailing address.@refill
|
|
772
|
|
773 Once you have initialized the @samp{*mail*} buffer this way, sending the
|
|
774 mail goes as usual. You can edit the presupplied header fields if they
|
|
775 are not what you want.
|
|
776
|
|
777 @kindex C-c C-y (Mail mode)
|
|
778 @findex mail-yank-original
|
|
779 One additional Mail mode command is available when you invoke mail
|
|
780 from Rmail: @kbd{C-c C-y} (@code{mail-yank-original}) inserts into the
|
|
781 outgoing message a copy of the current Rmail message. Normally this is
|
|
782 the message you are replying to, but you can also switch to the Rmail
|
|
783 buffer, select a different message, switch back, and yank the new current
|
|
784 message. Normally the yanked message is indented four spaces and has
|
|
785 most header fields deleted from it; an argument to @kbd{C-c C-y}
|
|
786 specifies the amount to indent. @kbd{C-u C-c C-y} neither indents
|
|
787 the message nor deletes any header fields.@refill
|
|
788
|
|
789 @kindex f (Rmail)
|
|
790 @findex rmail-forward
|
|
791 @cindex forward a message
|
|
792 Another frequent reason to send mail in Rmail is to forward the current
|
|
793 message to other users. @kbd{f} (@code{rmail-forward}) makes this easy by
|
|
794 preinitializing the @samp{*mail*} buffer with the current message as the
|
|
795 text and a subject designating a forwarded message. All you have to do is
|
|
796 fill in the recipients and send.@refill
|
|
797
|
|
798 @kindex m (Rmail)
|
|
799 @findex rmail-mail
|
|
800 You can use the @kbd{m} (@code{rmail-mail}) command to start editing an
|
|
801 outgoing message that is not a reply. It leaves the header fields empty.
|
|
802 Its only difference from @kbd{C-x 4 m} is that it makes the Rmail buffer
|
|
803 accessible for @kbd{C-c y}, just as @kbd{r} does. Thus @kbd{m} can be
|
|
804 used to reply to or forward a message; it can do anything @kbd{r} or @kbd{f}
|
|
805 can do.@refill
|
|
806
|
|
807 @kindex c (Rmail)
|
|
808 @findex rmail-continue
|
|
809 The @kbd{c} (@code{rmail-continue}) command resumes editing the
|
|
810 @samp{*mail*} buffer, to finish editing an outgoing message you were
|
|
811 already composing, or to alter a message you have sent.@refill
|
|
812
|
|
813 @node Rmail Editing, Rmail Digest, Rmail Reply, Top
|
|
814 @chapter Editing Within a Message
|
|
815
|
|
816 Rmail mode provides a few special commands for moving within and
|
|
817 editing the current message. In addition, the usual Emacs commands are
|
|
818 available (except for a few, such as @kbd{C-M-n} and @kbd{C-M-h}, that
|
|
819 are redefined by Rmail for other purposes). However, the Rmail buffer
|
|
820 is normally read-only, and to alter it you must use the Rmail command
|
|
821 @kbd{w} described below.
|
|
822
|
|
823 @table @kbd
|
|
824 @item t
|
|
825 Toggle display of original headers (@code{rmail-toggle-headers}).
|
|
826 @item w
|
|
827 Edit current message (@code{rmail-edit-current-message}).
|
|
828 @end table
|
|
829
|
|
830 @kindex t (Rmail)
|
|
831 @findex rmail-toggle-header
|
|
832 @vindex rmail-ignored-headers
|
|
833 Rmail reformats the header of each message before displaying it.
|
|
834 Normally this involves deleting most header fields, on the grounds that
|
|
835 they are not interesting. The variable @code{rmail-ignored-headers}
|
|
836 should contain a regexp that matches the header fields to discard in
|
|
837 this way. The original headers are saved permanently; to see what they
|
|
838 look like, use the @kbd{t} (@code{rmail-toggle-headers}) command. This
|
|
839 discards the reformatted headers of the current message and displays it
|
|
840 with the original headers. Repeating @kbd{t} reformats the message
|
|
841 again. Selecting the message again also reformats.
|
|
842
|
|
843 @kindex w (Rmail)
|
|
844 @findex rmail-edit-current-message
|
|
845 The Rmail buffer is normally read-only, and most of the characters you
|
|
846 would type to modify it (including most letters) are redefined as Rmail
|
|
847 commands. This is usually not a problem since people rarely want to
|
|
848 change the text of a message. When you do want to do this, type @kbd{w}
|
|
849 (@code{rmail-edit-current-message}), which changes from Rmail mode to
|
|
850 Rmail Edit mode, another major mode which is nearly the same as Text
|
|
851 mode. The mode line indicates this change.
|
|
852
|
|
853 In Rmail Edit mode, letters insert themselves as usual and the Rmail
|
|
854 commands are not available. When you are finished editing the message
|
|
855 and are ready to go back to Rmail, type @kbd{C-c C-c}, which switches
|
|
856 back to Rmail mode. To return to Rmail mode but cancel all the editing
|
|
857 you have done, type @kbd{C-c C-]}.
|
|
858
|
|
859 @vindex rmail-edit-mode-hook
|
|
860 Entering Rmail Edit mode calls the value of the variable
|
|
861 @code{text-mode-hook} with no arguments, if that value exists and is not
|
|
862 @code{nil}. It then does the same with the variable
|
|
863 @code{rmail-edit-mode-hook} and finally adds the attribute @samp{edited}
|
|
864 to the message.
|
|
865
|
|
866 @node Rmail Digest,, Rmail Editing, Top
|
|
867 @chapter Digest Messages
|
|
868 @cindex digest message
|
|
869 @cindex undigestify
|
|
870
|
|
871 A @dfn{digest message} is a message which exists to contain and carry
|
|
872 several other messages. Digests are used on moderated mailing lists. All
|
|
873 messages that arrive for the list during a period of time, such as one
|
|
874 day, are put inside a single digest which is then sent to the subscribers.
|
|
875 Transmitting the single digest uses much less computer time than
|
|
876 transmitting the individual messages even though the total size is the
|
|
877 same, because the per-message overhead in network mail transmission is
|
|
878 considerable.
|
|
879
|
|
880 @findex undigestify-rmail-message
|
|
881 When you receive a digest message, the most convenient way to read it is
|
|
882 to @dfn{undigestify} it: to turn it back into many individual messages.
|
|
883 You can then read and delete the individual messages as it suits you.
|
|
884
|
|
885 To undigestify a message, select it and then type @kbd{M-x
|
|
886 undigestify-rmail-message}. This copies each submessage as a separate
|
|
887 Rmail message and inserts them all following the digest. The digest
|
|
888 message itself is flagged as deleted.
|
|
889
|
|
890 @contents
|
|
891 @bye
|