]> code.delx.au - gnu-emacs/blob - doc/emacs/sending.texi
8dbe24856abe54783be21138e98b91b951ebe469
[gnu-emacs] / doc / emacs / sending.texi
1 @c This is part of the Emacs manual.
2 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002,
3 @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
4 @c Free Software Foundation, Inc.
5 @c See file emacs.texi for copying conditions.
6 @node Sending Mail
7 @chapter Sending Mail
8 @cindex sending mail
9 @cindex mail
10 @cindex email
11 @cindex message
12
13 @kindex C-x m
14 @findex compose-mail
15 To send an @dfn{e-mail} message in Emacs, type @kbd{C-x m}. This
16 selects and initializes a buffer named @samp{*mail*}, where you can
17 edit the text and headers of the message. Finally, type @kbd{C-c C-s}
18 or @kbd{C-c C-c} to send the message.
19
20 @table @kbd
21 @item C-x m
22 Begin composing mail (@code{compose-mail}).
23 @item C-x 4 m
24 Likewise, in another window (@code{compose-mail-other-window}).
25 @item C-x 5 m
26 Likewise, but in a new frame (@code{compose-mail-other-frame}).
27 @item C-c C-s
28 In the mail buffer, send the message (@code{message-send}).
29 @item C-c C-c
30 In the mail buffer, send the message and bury the buffer
31 (@code{message-send-and-exit}).
32 @end table
33
34 @kindex C-x 4 m
35 @findex compose-mail-other-window
36 @kindex C-x 5 m
37 @findex compose-mail-other-frame
38 @noindent
39 The command @kbd{C-x 4 m} (@code{compose-mail-other-window}) does the
40 same as @kbd{C-x m}, except it displays the mail buffer in a different
41 window. The command @kbd{C-x 5 m} (@code{compose-mail-other-frame})
42 creates a new frame for the mail buffer.
43
44 Because the mail buffer is an ordinary Emacs buffer, you can switch
45 to other buffers while in the middle of composing mail, and switch
46 back later (or never). If you type @kbd{C-x m} again when you have
47 been composing another message but have not sent it, Emacs asks for
48 confirmation before erasing the old message. If you answer @kbd{n},
49 Emacs selects the mail buffer with its old contents, so you can finish
50 the old message and send it. @kbd{C-u C-x m} is another way to do
51 this. Sending the message marks the mail buffer ``unmodified,'' which
52 avoids the need for confirmation when @kbd{C-x m} is next used.
53
54 If you want to send another message before finishing the current
55 message, use the command @kbd{M-x rename-uniquely} to rename the
56 current mail buffer (@pxref{Misc Buffer}). Then you can use @kbd{C-x
57 m} to make a new mail buffer, and work with each mail buffer
58 independently.
59
60 Before using Emacs to send mail, you may need to customize the
61 variable @code{send-mail-function} if your system is not set up to
62 deliver mail directly via SMTP (@pxref{Mail Sending}). In addition,
63 you may need to customize @code{user-mail-address} if the system
64 cannot receive mail via SMTP (@pxref{Mail Headers}).
65
66 @menu
67 * Format: Mail Format. Format of a mail message.
68 * Headers: Mail Headers. Details of some standard mail header fields.
69 * Aliases: Mail Aliases. Abbreviating and grouping mail addresses.
70 * Commands: Mail Commands. Special commands for editing mail being composed.
71 * Signature: Mail Signature. Adding a signature to every message.
72 * Amuse: Mail Amusements. Distracting the NSA; adding fortune messages.
73 * Methods: Mail Methods. Using alternative mail-composition methods.
74 @end menu
75
76 @node Mail Format
77 @section The Format of the Mail Buffer
78
79 An email message must contain certain pieces of information, called
80 @dfn{headers}, which specify the message's sender, recipient(s), and
81 so on.
82
83 At the top of the mail buffer is a set of @dfn{header fields}, where
84 you can enter this information. You can insert and edit header fields
85 using ordinary editing commands. @xref{Header Editing}, for commands
86 specific to editing header fields.
87
88 Some header fields are automatically pre-initialized in the buffer,
89 when appropriate; other headers, such as @samp{Date} and
90 @samp{Message-Id}, are normally omitted from the mail buffer and
91 created automatically when the message is sent.
92
93 @vindex mail-header-separator
94 The line in the buffer that says
95
96 @smallexample
97 --text follows this line--
98 @end smallexample
99
100 @noindent
101 separates the header fields from the @dfn{body} (or @dfn{text}) of the
102 message. Everything above this line is treated as part of the
103 headers; everything below it is treated as the body. The delimiter
104 line itself does not appear in the message actually sent. The text
105 used for the delimiter line is controlled by the variable
106 @code{mail-header-separator}.
107
108 Here is an example of what the headers and text in the mail buffer
109 might look like.
110
111 @example
112 To: gnu@@example.org
113 CC: lungfish@@example.com, byob@@example.net
114 Subject: The Emacs Manual
115 --text follows this line--
116 Please ignore this message.
117 @end example
118
119 @node Mail Headers
120 @section Mail Header Fields
121 @cindex headers (of mail message)
122
123 A header field in the mail buffer starts with a field name at the
124 beginning of a line, terminated by a colon. Upper and lower case are
125 equivalent in field names (and in mailing addresses also). After the
126 colon and optional whitespace comes the contents of the field.
127
128 You can use any name you like for a header field, but normally
129 people use only standard field names with accepted meanings. Here is
130 a table of commonly-used fields. Emacs pre-initializes some of these,
131 depending on various options you can set. You can delete or alter any
132 header field before you send the message, if you wish.
133
134 @table @samp
135 @item From
136 @vindex user-mail-address
137 The address of the sender (you). This should be a valid mailing
138 address, as replies will normally go there. Emacs initializes this
139 field using the variables @code{user-full-name} and
140 @code{user-mail-address}; see below.
141
142 @item To
143 The mailing address(es) to which the message is addressed. To list
144 more than one address, use commas (not spaces) to separate them.
145
146 @item Subject
147 A piece of text saying what the message is about. Most mail-reading
148 programs can display a summary of messages, listing the subject of
149 each message but not its text.
150
151 @item CC
152 Additional mailing address(es) to send the message to. This is like
153 @samp{To}, except that these readers should not regard the message as
154 directed at them.
155
156 @item BCC
157 Additional mailing address(es) to send the message to, which should
158 not appear in the header of the message actually sent. ``BCC'' stands
159 for @dfn{blind carbon copies}.
160
161 @item FCC
162 The name of one file, to which a copy of the sent message should be
163 appended. Emacs writes the message in mbox format, unless the file is
164 in Babyl format (used by Rmail before Emacs 23), in which case Emacs
165 writes Babyl. If an Rmail buffer is visiting the file, Emacs updates
166 it accordingly. To specify more than one file, use several @samp{FCC}
167 fields, with one file name in each field.
168
169 @item Reply-to
170 An address to which replies should be sent, instead of @samp{From}.
171 You can use this header if, for some reason, your @samp{From} address
172 is unable to receive replies.
173
174 @item Mail-reply-to
175 This field takes precedence over @samp{Reply-to}. It is used because
176 some mailing lists set the @samp{Reply-to} field for their own purposes
177 (a somewhat controversial practice).
178
179 @item Mail-followup-to
180 This field contains one or more addresses. It is typically used when
181 you reply to a message from a mailing list that you are subscribed to.
182 It usually indicates that you want replies to go to the list, and that
183 you do not need an extra copy sent directly to you.
184
185 @c Message mode handles this differently...
186 @c @vindex mail-mailing-lists
187 @c The variable @code{mail-mailing-lists} holds a list of mailing list
188 @c addresses that you are subscribed to. If it is non-@code{nil}, Emacs
189 @c inserts an appropriate @samp{Mail-followup-to} header when sending mail
190 @c to a mailing list.
191
192 @item In-reply-to
193 A piece of text describing the message you are replying to. Some mail
194 systems can use this information to correlate related pieces of mail.
195 Normally, you never need to think about this, because it is filled in
196 automatically when you reply to a message in Rmail (or any other mail
197 program built into Emacs).
198
199 @item References
200 The Message-Ids of previous related messages (a Message-Id is a unique
201 identifier generated when a message is sent). Like
202 @samp{In-reply-to}, this is normally set up automatically for you.
203 @end table
204
205 @noindent
206 The @samp{To}, @samp{CC}, and @samp{BCC} fields can appear any number
207 of times, and each such header field can contain multiple addresses,
208 separated by commas. This way, you can specify any number of places
209 to send the message. These fields can also have continuation lines:
210 one or more lines starting with whitespace, following the starting
211 line of the field, are considered part of the field. Here's an
212 example of a @samp{To} field with a continuation line:
213
214 @example
215 @group
216 To: foo@@example.net, this@@example.net,
217 bob@@example.com
218 @end group
219 @end example
220
221 @vindex user-full-name
222 @vindex user-mail-address
223 The default contents of the @samp{From} header field are computed
224 from the variables @code{user-full-name} and @code{user-mail-address}.
225 On some operating systems, Emacs initializes these two variables using
226 environment variables (@pxref{General Variables}). If this
227 information is unavailable or wrong, you can customize the variables
228 yourself (@pxref{Easy Customization}).
229
230 @vindex mail-from-style
231 The value of the variable @code{mail-from-style} specifies how to
232 format the address in the @samp{From} field:
233
234 @table @asis
235 @item @code{nil}
236 Use just the address, as in @samp{king@@grassland.com}.
237 @item @code{parens}
238 Use both address and full name, as in:@*
239 @samp{king@@grassland.com (Elvis Parsley)}.
240 @item @code{angles}
241 Use both address and full name, as in:@*
242 @samp{Elvis Parsley <king@@grassland.com>}.
243 @item any other value
244 Use @code{angles} for most addresses. However, if the address must be
245 ``quoted'' to remain syntactically-valid under the @code{angles}
246 format but not under the @code{parens} format, use @code{parens}
247 instead. This is the default.
248 @end table
249
250 @c There is also mail-specify-envelope-from and mail-envelope-from, but
251 @c these are probably not topics for the Emacs manual.
252
253 @vindex mail-default-headers
254 You can direct Emacs to insert certain default headers into the mail
255 buffer by setting the variable @code{mail-default-headers} to a
256 string. Then @kbd{C-x m} inserts this string into the message
257 headers. For example, here is how to add a @samp{Reply-to} and
258 @samp{FCC} header to each message:
259
260 @smallexample
261 (setq mail-default-headers
262 "Reply-to: foo@@example.com\nFCC: ~/Mail/sent")
263 @end smallexample
264
265 @noindent
266 If the default header fields are not appropriate for a
267 particular message, edit them as necessary before sending the message.
268
269 @node Mail Aliases
270 @section Mail Aliases
271 @cindex mail aliases
272 @cindex @file{.mailrc} file
273 @cindex mailrc file
274 @vindex mail-personal-alias-file
275
276 You can define @dfn{mail aliases}, which are short mnemonic names
277 that stand for mail addresses or groups of mail addresses. By
278 default, mail aliases are defined in the file @file{~/.mailrc}. You
279 can specify a different file name to use, by setting the variable
280 @code{mail-personal-alias-file}.
281
282 To define an alias in @file{.mailrc}, write a line in the following
283 format:
284
285 @example
286 alias @var{nick} @var{fulladdresses}
287 @end example
288
289 @noindent
290 This means that @var{nick} should expand into @var{fulladdresses},
291 where @var{fulladdresses} can be either a single address, or multiple
292 addresses separated with spaces. For instance, to make @code{maingnu}
293 stand for @code{gnu@@gnu.org} plus a local address of your own, put in
294 this line:@refill
295
296 @example
297 alias maingnu gnu@@gnu.org local-gnu
298 @end example
299
300 @noindent
301 If an address contains a space, quote the whole address with a pair of
302 double quotes, like this:
303
304 @example
305 alias jsmith "John Q. Smith <none@@example.com>"
306 @end example
307
308 @noindent
309 Note that you need not include double quotes around individual parts
310 of the address, such as the person's full name. Emacs puts them in if
311 they are needed. For instance, it inserts the above address as
312 @samp{"John Q. Smith" <none@@example.com>}.
313
314 Emacs also recognizes ``include'' commands in @file{.mailrc}. They
315 look like this:
316
317 @example
318 source @var{filename}
319 @end example
320
321 @noindent
322 The @file{.mailrc} file is not unique to Emacs; many other
323 mail-reading programs use it for mail aliases, and it can contain
324 various other commands. However, Emacs ignores everything except
325 alias definitions and include commands.
326
327 @findex mail-abbrev-insert-alias
328 Mail aliases expand as abbrevs---that is to say, as soon as you type
329 a word-separator character after an alias (@pxref{Abbrevs}). This
330 expansion takes place only within the @samp{To}, @samp{From},
331 @samp{CC}, @samp{BCC}, and @samp{Reply-to} header fields (plus their
332 @samp{Resent-} variants); it does not take place in other header
333 fields, such as @samp{Subject}.
334
335 You can also insert an aliased address directly, using the command
336 @kbd{M-x mail-abbrev-insert-alias}. This reads an alias name, with
337 completion, and inserts its definition at point.
338
339 @node Mail Commands
340 @section Mail Commands
341 @cindex Message mode
342 @cindex mode, Message
343
344 The default major mode for the @samp{*mail*} buffer is called
345 Message mode. It behaves like Text mode in many ways, but provides
346 several additional commands on the @kbd{C-c} prefix, which make
347 editing a message more convenient.
348
349 In this section, we will describe some of the most commonly-used
350 commands available in Message mode.
351 @ifnottex
352 Message mode also has its own manual, where its features are described
353 in greater detail. @xref{Top,,Message, message, Message}.
354 @end ifnottex
355
356 @menu
357 * Mail Sending:: Commands to send the message.
358 * Header Editing:: Commands to move to header fields and edit them.
359 * Citing Mail:: Quoting a message you are replying to.
360 * Mail Misc:: Attachments, spell checking, etc.
361 @end menu
362
363 @node Mail Sending
364 @subsection Mail Sending
365
366 There are two commands to send a message you have been editing:
367
368 @table @kbd
369 @item C-c C-c
370 Send the message, and deselect the mail buffer (@code{message-send-and-exit}).
371 @item C-c C-s
372 Send the message, and leave the mail buffer selected (@code{message-send}).
373 @end table
374
375 @kindex C-c C-s @r{(Message mode)}
376 @kindex C-c C-c @r{(Message mode)}
377 @findex message-send
378 If you want to send a message and be done with it, type @kbd{C-c
379 C-c} (@code{mail-send-and-exit}). This sends the message and then
380 either deletes the window or switches to another buffer. It also
381 ``buries'' the mail buffer, putting it at the lowest priority for
382 reselection. This is the usual command for sending a message.
383
384 @findex message-send-and-exit
385 The command @kbd{C-c C-s} (@code{message-send}) sends the message
386 and marks the mail buffer unmodified, but leaves the buffer selected.
387 Use this command if you want to modify the message (perhaps with new
388 recipients) and send it again.
389
390 @vindex message-send-hook
391 Sending a message runs the hook @code{message-send-hook}.
392
393 In a file-visiting buffer, sending the message does not clear the
394 modified flag, because only saving the file should do that. Also, you
395 don't get a warning if you try to send the same message twice.
396
397 @vindex sendmail-coding-system
398 When you send a message containing non-@acronym{ASCII} characters,
399 they need to be encoded with a coding system (@pxref{Coding Systems}).
400 Usually the coding system is specified automatically by your chosen
401 language environment (@pxref{Language Environments}). You can
402 explicitly specify the coding system for outgoing mail by setting the
403 variable @code{sendmail-coding-system} (@pxref{Recognize Coding}). If
404 the coding system thus determined does not handle the characters in a
405 particular message, Emacs asks you to select the coding system to use,
406 showing a list of possible coding systems.
407
408 @cindex SMTP
409 @cindex Feedmail
410 @cindex Sendmail
411 @cindex Mailclient
412 @vindex send-mail-function
413 The variable @code{send-mail-function} controls how the default mail
414 user agent sends mail. Its value should be a function, which can be
415 one of the following:
416
417 @table @code
418 @item sendmail-send-it
419 Send mail using the system's default @command{sendmail} (or
420 @command{sendmail}-compatible) program. This is the default on Unix
421 and GNU, and works provided the system is a valid @dfn{mail host}
422 (that is, provided it can deliver mail via SMTP).
423
424 @item mailclient-send-it
425 Pass the mail buffer on to the system's designated mail client (see
426 @file{mailclient.el}). This is the default on Mac OS X and
427 MS-Windows.
428
429 @item smtpmail-send-it
430 Send mail through an external mail host (e.g., your Internet service
431 provider's SMTP server). You will need to tell Emacs how to contact
432 the SMTP server, by customizing the variables
433 @code{smtpmail-smtp-server} and @code{smtpmail-auth-credentials}.
434 @xref{Top,,Emacs SMTP Library, smtpmail, Sending mail via SMTP}.
435
436 @item feedmail-send-it
437 This is similar to @code{sendmail-send-it}, but allows you to queue
438 messages for later sending. See the commentary section in the file
439 @file{feedmail.el} for more information.
440 @end table
441
442 @node Header Editing
443 @subsection Mail Header Editing
444
445 Message mode provides the following special commands to move to
446 particular header fields and to complete addresses in headers.
447
448 @table @kbd
449 @item C-c C-f C-t
450 Move to the @samp{To} header (@code{message-goto-to}).
451 @item C-c C-f C-s
452 Move to the @samp{Subject} header (@code{message-goto-subject}).
453 @item C-c C-f C-c
454 Move to the @samp{CC} header (@code{message-goto-cc}).
455 @item C-c C-f C-b
456 Move to the @samp{BCC} header (@code{message-goto-bcc}).
457 @item C-c C-f C-r
458 Move to the @samp{Reply-To} header (@code{message-goto-reply-to}).
459 @item C-c C-f C-f
460 Move to the @samp{Mail-Followup-To} header field
461 (@code{message-goto-followup-to}).
462 @item C-c C-f C-w
463 Add a new @samp{FCC} header field, with file-name completion
464 (@code{message-goto-fcc}).
465 @item C-c C-b
466 Move to the start of the message body (@code{message-goto-body}).
467 @item @key{TAB}
468 Complete a mailing address (@code{message-tab}).
469 @end table
470
471 @kindex C-c C-f C-t @r{(Message mode)}
472 @findex message-goto-to
473 @kindex C-c C-f C-s @r{(Message mode)}
474 @findex message-goto-subject
475 @kindex C-c C-f C-c @r{(Message mode)}
476 @findex message-goto-cc
477 @kindex C-c C-f C-b @r{(Message mode)}
478 @findex message-goto-bcc
479 @kindex C-c C-f C-r @r{(Message mode)}
480 @findex goto-reply-to
481 @kindex C-c C-f C-f @r{(Message mode)}
482 @findex goto-followup-to
483 @kindex C-c C-f C-w @r{(Message mode)}
484 @findex message-goto-fcc
485 The commands to move point to particular header fields are all based
486 on the prefix @kbd{C-c C-f} (@samp{C-f} is for ``field''). If the
487 field in question does not exist, the command creates one (the
488 exception is @code{mail-fcc}, which creates a new field each time).
489
490 @kindex C-c C-b @r{(Message mode)}
491 @findex mail-text
492 The command @kbd{C-c C-b} (@code{message-goto-body}) moves point to
493 just after the header separator line---that is, to the beginning of
494 the body.
495
496 @findex message-tab
497 @kindex TAB @r{(Message mode)}
498 While editing a header field that contains addresses, such as
499 @samp{To:}, @samp{CC:} and @samp{BCC:}, you can complete an address by
500 typing @key{TAB} (@code{message-tab}). This attempts to insert the
501 full name corresponding to the address based on a couple of methods,
502 including EUDC, a library that recognizes a number of directory server
503 protocols (@pxref{Top,,EUDC,eudc, The Emacs Unified Directory
504 Client}). Failing that, it attempts to expand the address as a mail
505 alias (@pxref{Mail Aliases}). If point is on a header field that does
506 not take addresses, or if it is in the message body, then @key{TAB}
507 just inserts a tab character.
508
509 @node Citing Mail
510 @subsection Citing Mail
511 @cindex citing mail
512
513 @table @kbd
514 @item C-c C-y
515 Yank the selected message from Rmail (@code{message-yank-original}).
516 @item C-c C-q
517 Fill each paragraph cited from another message
518 (@code{message-fill-yanked-message}).
519 @end table
520
521 @kindex C-c C-y @r{(Message mode)}
522 @findex message-yank-original
523 @findex message-yank-prefix
524 You can use the command @kbd{C-c C-y} (@code{message-yank-original})
525 to @dfn{cite} a message that you are replying to. This inserts the
526 text of that message into the mail buffer. This command is active
527 only when the mail buffer is invoked from a mail program running in
528 Emacs, such as Rmail.
529
530 By default, Emacs inserts the string @samp{>} in front of each line
531 of the cited text; this prefix string is specified by the variable
532 @code{message-yank-prefix}. If you call @code{message-yank-original}
533 with a prefix argument, the citation prefix is not inserted.
534
535 @kindex C-c C-q @r{(Message mode)}
536 @findex mail-fill-yanked-message
537 After using @kbd{C-c C-y}, you can type @kbd{C-c C-q}
538 (@code{message-fill-yanked-message}) to fill the paragraphs of the
539 cited message. One use of @kbd{C-c C-q} fills all such paragraphs,
540 each one individually. To fill a single paragraph of the quoted
541 message, use @kbd{M-q}. If filling does not automatically handle the
542 type of citation prefix you use, try setting the fill prefix
543 explicitly. @xref{Filling}.
544
545 @vindex mail-citation-hook
546 You can customize mail citation through the hook
547 @code{mail-citation-hook}. For example, you can use the Supercite
548 package, which provides more flexible citation
549 (@pxref{Introduction,,,sc, Supercite}).
550
551 @node Mail Misc
552 @subsection Mail Miscellany
553
554 @kindex C-c C-a @r{(Message mode)}
555 @findex mail-attach-file
556 @cindex MIME
557 @cindex Multipurpose Internet Mail Extensions
558 You can @dfn{attach} a file to an outgoing message by typing
559 @kbd{C-c C-a} (@code{mml-attach-file}) in the mail buffer. Attaching
560 is done using the MIME (Multipurpose Internet Mail Extensions)
561 standard.
562
563 The @code{mml-attach-file} command prompts for the name of the file,
564 and for the attachment's @dfn{content type}, @dfn{description}, and
565 @dfn{disposition}. The content type is normally detected
566 automatically; just type @key{RET} to accept the default. The
567 description is a single line of text that the recipient will see next
568 to the attachment; you may also choose to leave this empty. The
569 disposition is either @samp{inline} (the default), which means the
570 recipient will see a link to the attachment within the message body,
571 or @samp{attachment}, which means the link will be separate from the
572 body.
573
574 The actual contents of the attached file are not inserted into the
575 mail buffer. Instead, some placeholder text is inserted into the mail
576 buffer, like this:
577
578 @smallexample
579 <#part type="text/plain" filename="~/foo.txt" disposition=inline>
580 <#/part>
581 @end smallexample
582
583 @noindent
584 When you type @kbd{C-c C-c} or @kbd{C-c C-s} to send the message, the
585 attached file will be delivered with it.
586
587 @findex ispell-message
588 While composing a message, you can do spelling correction on the
589 message text by typing @kbd{M-x ispell-message}. If you have yanked
590 an incoming message into the outgoing draft, this command skips what
591 was yanked, but it checks the text that you yourself inserted (it
592 looks for indentation or @code{mail-yank-prefix} to distinguish the
593 cited lines from your input). @xref{Spelling}.
594
595 @vindex mail-mode-hook
596 @vindex mail-setup-hook
597 Turning on Message mode (which @kbd{C-x m} does automatically) runs
598 the normal hooks @code{text-mode-hook} and @code{message-mode-hook}.
599 Initializing a new outgoing message runs the normal hook
600 @code{message-setup-hook}; you can use this hook if you want to make
601 changes to the appearance of the mail buffer. @xref{Hooks}.
602
603 The main difference between these hooks is just when they are
604 invoked. Whenever you type @kbd{C-x m}, @code{message-mode-hook} runs
605 as soon as the mail buffer is created. Then the @code{message-setup}
606 function inserts the default contents of the buffer. After these
607 default contents are inserted, @code{message-setup-hook} runs.
608
609 If you use @kbd{C-x m} to continue an existing composition,
610 @code{message-mode-hook} runs immediately after switching to the mail
611 buffer. If the buffer is unmodified, or if you decide to erase it and
612 start again, @code{message-setup-hook} runs after the default contents
613 are inserted.
614
615 @node Mail Signature
616 @section Mail Signature
617
618 @cindex mail signature
619 @vindex mail-signature-file
620 @vindex mail-signature
621 You can add a standard piece of text---your @dfn{mail
622 signature}---to the end of every message. This signature may contain
623 information such as your telephone number or your physical location.
624 The variable @code{mail-signature} determines how Emacs handles the
625 mail signature.
626
627 The default value of @code{mail-signature} is @code{t}; this means
628 to look for your mail signature in the file @file{~/.signature}. If
629 this file exists, its contents are automatically inserted into the end
630 of the mail buffer. You can change the signature file via the
631 variable @code{mail-signature-file}.
632
633 If you change @code{mail-signature} to a string, that specifies the
634 text of the signature directly.
635
636 @kindex C-c C-w @r{(Message mode)}
637 @findex message-insert-signature
638 If you change @code{mail-signature} to @code{nil}, Emacs will not
639 insert your mail signature automatically. You can insert your mail
640 signature by typing @kbd{C-c C-w} (@code{message-insert-signature}) in
641 the mail buffer. Emacs will look for your signature in the signature
642 file.
643
644 By convention, a mail signature should be marked by a line whose
645 contents are @samp{-- }. If your signature lacks this prefix, it is
646 added for you. The remainder of your signature should be no more than
647 four lines.
648
649 @node Mail Amusements
650 @section Mail Amusements
651
652 @findex spook
653 @cindex NSA
654 @kbd{M-x spook} adds a line of randomly chosen keywords to an outgoing
655 mail message. The keywords are chosen from a list of words that suggest
656 you are discussing something subversive.
657
658 The idea behind this feature is the suspicion that the
659 NSA@footnote{The US National Security Agency.} and other intelligence
660 agencies snoop on all electronic mail messages that contain keywords
661 suggesting they might find them interesting. (The agencies say that
662 they don't, but that's what they @emph{would} say.) The idea is that if
663 lots of people add suspicious words to their messages, the agencies will
664 get so busy with spurious input that they will have to give up reading
665 it all. Whether or not this is true, it at least amuses some people.
666
667 @findex fortune-to-signature
668 @cindex fortune cookies
669 You can use the @code{fortune} program to put a ``fortune cookie''
670 message into outgoing mail. To do this, add
671 @code{fortune-to-signature} to @code{mail-setup-hook}:
672
673 @example
674 (add-hook 'mail-setup-hook 'fortune-to-signature)
675 @end example
676
677 @noindent
678 You will probably need to set the variable @code{fortune-file} before
679 using this.
680
681 @node Mail Methods
682 @section Mail-Composition Methods
683 @cindex mail-composition methods
684 @cindex Mail mode
685 @cindex mode, Mail
686
687 @cindex MH mail interface
688 @cindex Message mode for sending mail
689 In this chapter we have described the usual Emacs mode for editing
690 and sending mail---Message mode. This is only one of several
691 available modes. Prior to Emacs 23.2, the default mode was Mail mode,
692 which is similar to Message mode in many respects but lacks features
693 such as MIME support. Another available mode is MH-E
694 (@pxref{Top,,MH-E,mh-e, The Emacs Interface to MH}).
695
696 @vindex mail-user-agent
697 You can choose any of these @dfn{mail user agents} as your preferred
698 method for editing and sending mail. The commands @code{C-x m},
699 @code{C-x 4 m} and @code{C-x 5 m} use whichever agent you have
700 specified; so do various other parts of Emacs that send mail, such as
701 the bug reporter (@pxref{Bugs}). To specify a mail user agent,
702 customize the variable @code{mail-user-agent}. Currently, legitimate
703 values include @code{message-user-agent} (Message mode)
704 @code{sendmail-user-agent} (Mail mode), @code{gnus-user-agent}, and
705 @code{mh-e-user-agent}.
706
707 If you select a different mail-composition method, the information
708 in this chapter about the mail buffer and Message mode does not apply;
709 the other methods use a different format of text in a different
710 buffer, and their commands are different as well.
711
712 @vindex read-mail-command
713 Similarly, to specify your preferred method for reading mail,
714 customize the variable @code{read-mail-command}. The default is
715 @code{rmail} (@pxref{Rmail}).
716
717 @ignore
718 arch-tag: d8a3dfc3-5d87-45c5-a7f2-69871b8e4fd6
719 @end ignore