Mark PGG obsolete.
[emacs.git] / doc / emacs / sending.texi
blob95bf5873eb0aae9cdedb2f446e5af7d17c45f578
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
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
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.
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
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.
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.
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.
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}).
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
76 @node Mail Format
77 @section The Format of the Mail Buffer
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.
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.
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.
93 @vindex mail-header-separator
94   The line in the buffer that says
96 @smallexample
97 --text follows this line--
98 @end smallexample
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}.
108   Here is an example of what the headers and text in the mail buffer
109 might look like.
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
119 @node Mail Headers
120 @section Mail Header Fields
121 @cindex headers (of mail message)
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.
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.
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.
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.
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.
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.
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}.
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.
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.
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).
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.
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.
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).
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
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:
214 @example
215 @group
216 To: foo@@example.net, this@@example.net,
217   bob@@example.com
218 @end group
219 @end example
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}).
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:
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
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.
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:
260 @smallexample
261 (setq mail-default-headers
262       "Reply-to: foo@@example.com\nFCC: ~/Mail/sent")
263 @end smallexample
265 @noindent
266 If the default header fields are not appropriate for a
267 particular message, edit them as necessary before sending the message.
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
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}.
282   To define an alias in @file{.mailrc}, write a line in the following
283 format:
285 @example
286 alias @var{nick} @var{fulladdresses}
287 @end example
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
296 @example
297 alias maingnu gnu@@gnu.org local-gnu
298 @end example
300 @noindent
301 If an address contains a space, quote the whole address with a pair of
302 double quotes, like this:
304 @example
305 alias jsmith "John Q. Smith <none@@example.com>"
306 @end example
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>}.
314   Emacs also recognizes ``include'' commands in @file{.mailrc}.  They
315 look like this:
317 @example
318 source @var{filename}
319 @end example
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.
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}.
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.
339 @node Mail Commands
340 @section Mail Commands
341 @cindex Message mode
342 @cindex mode, Message
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.
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
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
363 @node Mail Sending
364 @subsection Mail Sending
366   There are two commands to send a message you have been editing:
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
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.
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.
390 @vindex message-send-hook
391   Sending a message runs the hook @code{message-send-hook}.
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.
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.
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:
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).
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.
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}.
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
442 @node Header Editing
443 @subsection Mail Header Editing
445   Message mode provides the following special commands to move to
446 particular header fields and to complete addresses in headers.
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
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).
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.
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.
509 @node Citing Mail
510 @subsection Citing Mail
511 @cindex citing mail
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
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.
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.
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}.
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}).
551 @node Mail Misc
552 @subsection Mail Miscellany
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.
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.
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:
578 @smallexample
579 <#part type="text/plain" filename="~/foo.txt" disposition=inline>
580 <#/part>
581 @end smallexample
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.
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}.
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}.
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.
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.
615 @node Mail Signature
616 @section Mail Signature
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.
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}.
633   If you change @code{mail-signature} to a string, that specifies the
634 text of the signature directly.
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.
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.
649 @node Mail Amusements
650 @section Mail Amusements
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.
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.
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}:
673 @example
674 (add-hook 'mail-setup-hook 'fortune-to-signature)
675 @end example
677 @noindent
678 You will probably need to set the variable @code{fortune-file} before
679 using this.
681 @node Mail Methods
682 @section Mail-Composition Methods
683 @cindex mail-composition methods
684 @cindex Mail mode
685 @cindex mode, Mail
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}).
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}.
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.
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}).
717 @ignore
718    arch-tag: d8a3dfc3-5d87-45c5-a7f2-69871b8e4fd6
719 @end ignore