]> code.delx.au - gnu-emacs/blobdiff - man/sending.texi
(enum event_kind) [MAC_OS]: Update comment for MAC_APPLE_EVENT.
[gnu-emacs] / man / sending.texi
index ff0c6224df1ef58a1e41d9ce2c581ad2e7460787..0c0c249ba5d8c157db388a52516941d7ca776fcf 100644 (file)
@@ -1,8 +1,8 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985, 86, 87, 93, 94, 95, 97, 2000
-@c   Free Software Foundation, Inc.
+@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002,
+@c   2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
-@node Sending Mail, Rmail, Picture, Top
+@node Sending Mail, Rmail, Abbrevs, Top
 @chapter Sending Mail
 @cindex sending mail
 @cindex mail
@@ -45,7 +45,7 @@ switch to other buffers while in the middle of composing mail, and switch
 back later (or never).  If you use the @kbd{C-x m} command again when you
 have been composing another message but have not sent it, you are asked to
 confirm before the old message is erased.  If you answer @kbd{n}, the
-@samp{*mail*} buffer is left selected with its old contents, so you can
+@samp{*mail*} buffer remains selected with its old contents, so you can
 finish the old message and send it.  @kbd{C-u C-x m} is another way to do
 this.  Sending the message marks the @samp{*mail*} buffer ``unmodified,''
 which avoids the need for confirmation when @kbd{C-x m} is next used.
@@ -57,6 +57,14 @@ Buffer}).  Then you can use @kbd{C-x m} or its variants described above
 to make a new @samp{*mail*} buffer.  Once you've done that, you can work
 with each mail buffer independently.
 
+@vindex mail-default-directory
+  The variable @code{mail-default-directory} controls the default
+directory for mail buffers, and also says where to put their auto-save
+files.
+
+@ignore
+@c Commented out because it is not user-oriented;
+@c it doesn't say how to do some job.  -- rms.
 @cindex directory servers
 @cindex LDAP
 @cindex PH/QI
@@ -65,15 +73,14 @@ There is an interface to directory servers using various protocols such
 as LDAP or the CCSO white pages directory system (PH/QI), described in a
 separate manual.  It may be useful for looking up names and addresses.
 @xref{Top,,EUDC, eudc, EUDC Manual}.
+@end ignore
 
 @menu
 * Format: Mail Format.      Format of the mail being composed.
 * Headers: Mail Headers.     Details of permitted mail header fields.
 * Aliases: Mail Aliases.     Abbreviating and grouping mail addresses.
 * Mode: Mail Mode.          Special commands for editing mail being composed.
-* Spook: Distracting NSA.    How to distract the NSA's attention.
-* Fortune::                  `Fortune' items in signatures.
-* Footnotes: Mail Footnotes. Making footnotes in messages.
+* Amuse: Mail Amusements.    Distracting the NSA; adding fortune messages.
 * Methods: Mail Methods.     Using alternative mail-composition methods.
 @end menu
 
@@ -86,9 +93,10 @@ header fields, such as @samp{Date} and @samp{Sender}, are created
 automatically when you send the message.  Others, such as the recipient
 names, must be specified by you in order to send the message properly.
 
-  Mail mode provides a few commands to help you edit some header fields,
-and some are preinitialized in the buffer automatically at times.  You can
-insert and edit header fields using ordinary editing commands.
+  In the mail buffer, you can insert and edit header fields using
+ordinary editing commands.  Mail mode provides a commands to help you
+edit some header fields, and some are preinitialized in the buffer
+automatically when appropriate.
 
   The line in the buffer that says
 
@@ -103,7 +111,7 @@ headers precede it.  The delimiter line itself does not appear in the
 message actually sent.  The text used for the delimiter line is controlled
 by the variable @code{mail-header-separator}.
 
-Here is an example of what the headers and text in the mail buffer
+  Here is an example of what the headers and text in the mail buffer
 might look like.
 
 @example
@@ -154,13 +162,15 @@ Copies sent this way are called @dfn{blind carbon copies}.
 To send a blind carbon copy of every outgoing message to yourself, set
 the variable @code{mail-self-blind} to @code{t}.  To send a blind carbon
 copy of every message to some other @var{address}, set the variable
-@code{mail-default-headers} to @samp{"Bcc: @var{address}\n"}.
+@code{mail-default-headers} to @code{"Bcc: @var{address}\n"}.
 
 @item FCC
 This field contains the name of one file and directs Emacs to append a
 copy of the message to that file when you send the message.  If the file
 is in Rmail format, Emacs writes the message in Rmail format; otherwise,
-Emacs writes the message in system mail file format.
+Emacs writes the message in system mail file format.  To specify
+more than one file, use several @samp{FCC} fields, with one file
+name in each field.
 
 @vindex mail-archive-file-name
 To put a fixed file name in the @samp{FCC} field each time you start
@@ -194,7 +204,7 @@ variable @env{REPLYTO} is set, @code{mail-default-reply-to} is
 initialized from that environment variable.
 
 @item In-reply-to
-This field contains a piece of text describing a message you are
+This field contains a piece of text describing the message you are
 replying to.  Some mail systems can use this information to correlate
 related pieces of mail.  Normally this field is filled in by Rmail
 when you reply to a message in Rmail, and you never need to
@@ -205,14 +215,14 @@ This field lists the message IDs of related previous messages.  Rmail
 sets up this field automatically when you reply to a message.
 @end table
 
-  The @samp{To}, @samp{CC}, @samp{BCC} and @samp{FCC} header fields can
-appear any number of times, and each such header field can contain
-multiple addresses, separated by commas.  This way, you can specify any
-number of places to send the message.  A @samp{To}, @samp{CC}, or
-@samp{BCC} field can also have continuation lines: one or more lines
-starting with whitespace, following the starting line of the field, are
-considered part of the field.  Here's an example of a @samp{To} field
-with a continuation line:@refill
+  The @samp{To}, @samp{CC}, and @samp{BCC} header fields can appear
+any number of times, and each such header field can contain multiple
+addresses, separated by commas.  This way, you can specify any number
+of places to send the message.  These fields can also have
+continuation lines: one or more lines starting with whitespace,
+following the starting line of the field, are considered part of the
+field.  Here's an example of a @samp{To} field with a continuation
+line:
 
 @example
 @group
@@ -240,9 +250,12 @@ Allow the system to insert the @samp{From} field.
 @end table
 
 @vindex mail-default-headers
-  You can force Emacs to insert specific headers into the outgoing
-message by customizing the variable @code{mail-default-headers}.  Its
-value as a string is inserted before you edit the message.
+  You can direct Emacs to insert certain default headers into the
+outgoing message by setting the variable @code{mail-default-headers}
+to a string.  Then @code{C-x m} inserts this string into the message
+headers.  If the default header fields are not appropriate for a
+particular message, edit them as appropriate before sending the
+message.
 
 @node Mail Aliases
 @section Mail Aliases
@@ -277,7 +290,21 @@ this line:@refill
 alias maingnu gnu@@gnu.org local-gnu
 @end example
 
-  Emacs also recognizes include commands in @samp{.mailrc} files.
+@noindent
+Addresses specified in this way should use doublequotes around an
+entire address when the address contains spaces.  But you need not
+include doublequotes around parts of the address, such as the person's
+full name.  Emacs puts them in if they are needed.  For example,
+
+@example
+alias chief-torturer "George W. Bush <bush@@whitehouse.gov>"
+@end example
+
+@noindent
+is correct.  Emacs will insert the address as @samp{"George W. Bush"
+<bush@@whitehouse.gov>}.
+
+  Emacs also recognizes ``include'' commands in @samp{.mailrc} files.
 They look like this:
 
 @example
@@ -323,7 +350,7 @@ you type them in (@pxref{Abbrevs}).  To enable this feature, execute the
 following:
 
 @example
-(add-hook 'mail-setup-hook 'mail-abbrevs-setup)
+(add-hook 'mail-mode-hook 'mail-abbrevs-setup)
 @end example
 
 @noindent
@@ -349,14 +376,12 @@ afterward.  However, you can rebind @kbd{C-n} and @kbd{M->} to cause
 expansion as well.  Here's how to do that:
 
 @smallexample
-(add-hook 'mail-setup-hook
-          '(lambda ()
-             (substitute-key-definition
-               'next-line 'mail-abbrev-next-line
-               mail-mode-map global-map)
-             (substitute-key-definition
-               'end-of-buffer 'mail-abbrev-end-of-buffer
-               mail-mode-map global-map)))
+(add-hook 'mail-mode-hook
+          (lambda ()
+            (define-key
+              mail-mode-map [remap next-line] 'mail-abbrev-next-line)
+            (define-key
+              mail-mode-map [remap end-of-buffer] 'mail-abbrev-end-of-buffer)))
 @end smallexample
 
 @node Mail Mode
@@ -373,8 +398,8 @@ word commands to edit mail addresses.
 
   Mail mode is normally used in buffers set up automatically by the
 @code{mail} command and related commands.  However, you can also switch
-to Mail mode in a file-visiting buffer.  That is a useful thing to do if
-you have saved draft message text in a file.
+to Mail mode in a file-visiting buffer.  This is a useful thing to do if
+you have saved the text of a draft message in a file.
 
 @menu
 * Mail Sending::        Commands to send the message.
@@ -409,22 +434,35 @@ lowest priority for reselection by default, since you are finished with
 using it.  This is the usual way to send the message.
 
   In a file-visiting buffer, sending the message does not clear the
-modified flag, because only saving the file should do that.  As a
-result, you don't get a warning if you try to send the same message
-twice.
+modified flag, because only saving the file should do that.  Also, you
+don't get a warning if you try to send the same message twice.
 
-@vindex sendmail-coding-system
-  When you send a message that contains non-ASCII characters, they need
+@c This is indexed in mule.texi, node "Recognize Coding".
+@c @vindex sendmail-coding-system
+  When you send a message that contains non-@acronym{ASCII} characters, they need
 to be encoded with a coding system (@pxref{Coding Systems}).  Usually
 the coding system is specified automatically by your chosen language
 environment (@pxref{Language Environments}).  You can explicitly specify
 the coding system for outgoing mail by setting the variable
-@code{sendmail-coding-system}.
+@code{sendmail-coding-system} (@pxref{Recognize Coding}).
 
   If the coding system thus determined does not handle the characters in
 a particular message, Emacs asks you to select the coding system to use,
 showing a list of possible coding systems.
 
+@cindex SMTP
+@cindex Feedmail
+@cindex Sendmail
+@vindex send-mail-function
+  The variable @code{send-mail-function} controls how the default mail
+user agent sends mail.  It should be set to a function.  The default
+is @code{sendmail-send-it}, which delivers mail using the Sendmail
+installation on the local host.  To send mail through a SMTP server,
+set it to @code{smtpmail-send-it} and set up the Emacs SMTP library
+(@pxref{Top,,Emacs SMTP Library, smtpmail, Sending mail via SMTP}).  A
+third option is @code{feedmail-send-it}, see the commentary section of
+the @file{feedmail.el} package for more information.
+
 @node Header Editing
 @subsection Mail Header Editing
 
@@ -470,21 +508,25 @@ edit.
 
 @findex mail-complete
 @kindex M-TAB @r{(Mail mode)}
-  While editing a header field that contains mailing addresses, such as
-@samp{To:}, @samp{CC:} and @samp{BCC:}, you can complete a mailing
-address by typing @kbd{M-@key{TAB}} (@code{mail-complete}).  It inserts
-the full name corresponding to the address, if it can determine the full
-name.  The variable @code{mail-complete-style} controls whether to insert
-the full name, and what style to use, as in @code{mail-from-style}
-(@pxref{Mail Headers}).
+  While editing a header field that contains mailing addresses, such
+as @samp{To:}, @samp{CC:} and @samp{BCC:}, you can complete a mailing
+address by typing @kbd{M-@key{TAB}} (@code{mail-complete}).  It
+inserts the full name corresponding to the address, if it can
+determine the full name.  The variable @code{mail-complete-style}
+controls whether to insert the full name, and what style to use, as in
+@code{mail-from-style} (@pxref{Mail Headers}).  (If your window
+manager defines @kbd{M-@key{TAB}} to switch windows, you can type
+@kbd{@key{ESC} @key{TAB}} or @kbd{C-M-i}.)
 
   For completion purposes, the valid mailing addresses are taken to be
-the local users' names plus your personal mail aliases.  You can specify
-additional sources of valid addresses; use the customization buffer
-to see the options for this.
+the local users' names plus your personal mail aliases.  You can
+specify additional sources of valid addresses; see the customization
+group @samp{mailalias} to see the variables for customizing this
+feature (@pxref{Customization Groups}).
 
-  If you type @kbd{M-@key{TAB}} in the body of the message, it invokes
-@code{ispell-complete-word}, as in Text mode.
+  If you type @kbd{M-@key{TAB}} in the body of the message,
+@code{mail-complete} invokes @code{ispell-complete-word}, as in Text
+mode.
 
 @node Citing Mail
 @subsection Citing Mail
@@ -554,7 +596,7 @@ Insert the file @file{~/.signature} at the end of the message text
 Insert the contents of @var{file} at the end of the outgoing message
 (@code{mail-attach-file}).
 @item M-x ispell-message
-Do spelling correction on the message text, but not on citations from
+Perform spelling correction on the message text, but not on citations from
 other messages.
 @end table
 
@@ -570,7 +612,7 @@ separator line---that is, to the beginning of the message body text.
 the end of the message to say more about who you are.  The text comes
 from the file @file{~/.signature} in your home directory.  To insert
 your signature automatically, set the variable @code{mail-signature} to
-@code{t}; then starting a mail message automatically inserts the
+@code{t}; after that, starting a mail message automatically inserts the
 contents of your @file{~/.signature} file.  If you want to omit your
 signature from a particular message, delete it from the buffer before
 you send the message.
@@ -596,7 +638,8 @@ the usual command to insert a file in the current buffer.  But it is
 often more convenient to use a special command, @kbd{C-c C-i}
 (@code{mail-attach-file}).  This command inserts the file contents at
 the end of the buffer, after your signature if any, with a delimiter
-line that includes the file name.
+line that includes the file name.  Note that this is not a MIME
+attachment.
 
 @vindex mail-mode-hook
 @vindex mail-setup-hook
@@ -610,11 +653,11 @@ that hook.  @xref{Hooks}.
   The main difference between these hooks is just when they are
 invoked.  Whenever you type @kbd{M-x mail}, @code{mail-mode-hook} runs
 as soon as the @samp{*mail*} buffer is created.  Then the
-@code{mail-setup} function puts in the default contents of the buffer.
+@code{mail-setup} function inserts the default contents of the buffer.
 After these default contents are inserted, @code{mail-setup-hook} runs.
 
-@node Distracting NSA
-@section Distracting the NSA
+@node Mail Amusements
+@section Mail Amusements
 
 @findex spook
 @cindex NSA
@@ -634,65 +677,48 @@ that they will have to give up reading it all.
 entering an outgoing message:
 
 @example
-(setq mail-signature '(spool))
+(add-hook 'mail-setup-hook 'spook)
 @end example
 
   Whether or not this confuses the NSA, it at least amuses people.
 
-@node Fortune
-@section Putting @code{fortune} Items in Signatures
-
-@pindex fortune
 @findex fortune-to-signature
-@findex fortune-from-region
-@cindex signatures, mail/news
 @cindex fortune cookies
-You can use the @code{fortune} program to create signatures for mail or
-network news messages.  (@code{fortune} prints a random---with luck,
-interesting---adage, originally inspired by `fortune cookie' messages.)
-To generate signatures, add @code{fortune-to-signature} to
-@code{mail-setup-hook} and/or @code{message-setup-hook} as appropriate.
-You can automatically cut regions to a Fortune file with @kbd{M-x
-fortune-from-region} and compile your own Fortune database.
-
-@node Mail Footnotes
-@section Making Footnotes
-@cindex footnotes
-
-@findex footnote-mode
-@kbd{M-x footnote-mode} toggles a minor mode for making footnotes in
-mail or network news messages.  It is intended for use specifically with
-Message mode but is not specific to that.  It provides commands and
-keybindings to insert footnotes, go to a given note, delete a note and
-renumber notes.  See the group @code{footnote} for customization and the
-mode's documentation for keybindings.  To set up Footnote mode for all
-messages, add @code{footnote-mode} to @code{mail-mode-hook} and/or
-@code{message-mode-hook} as appropriate.
+  You can use the @code{fortune} program to put a ``fortune cookie''
+message into outgoing mail.  To do this, add
+@code{fortune-to-signature} to @code{mail-setup-hook}:
+
+@example
+(add-hook 'mail-setup-hook 'fortune-to-signature)
+@end example
 
 @node Mail Methods
 @section Mail-Composition Methods
 @cindex mail-composition methods
 
-  This chapter describes the usual Emacs mode for editing and sending
-mail---Mail mode.  Emacs has alternative facilities for editing and
-sending mail, including 
 @cindex MH mail interface
 @cindex Message mode for sending mail
+  In this chapter we have described the usual Emacs mode for editing
+and sending mail---Mail mode.  Emacs has alternative facilities for
+editing and sending mail, including
 MH-E and Message mode, not documented in this manual.
-@xref{,MH-E,,mh-e, The Emacs Interface to MH}.  @xref{,Message,,message,
+@xref{Top,,MH-E,mh-e, The Emacs Interface to MH}.  @xref{Top,,Message,message,
 Message Manual}.  You can choose any of them as your preferred method.
 The commands @code{C-x m}, @code{C-x 4 m} and @code{C-x 5 m} use
-whichever agent you have specified.  So do various other Emacs commands
+whichever agent you have specified, as do various other Emacs commands
 and facilities that send mail.
 
 @vindex mail-user-agent
   To specify your mail-composition method, customize the variable
 @code{mail-user-agent}.  Currently legitimate values include
-@code{sendmail-user-agent}, @code{mh-e-user-agent},
+@code{sendmail-user-agent} (Mail mode), @code{mh-e-user-agent},
 @code{message-user-agent} and @code{gnus-user-agent}.
 
-  If you select a different mail-composition method, the information in
-this chapter about the @samp{*mail*} buffer and Mail mode does not
-necessarily apply; other methods may use completely different commands
-with a different format in a differently named buffer.
+  If you select a different mail-composition method, the information
+in this chapter about the @samp{*mail*} buffer and Mail mode does not
+apply; the other methods use a different format of text in a different
+buffer, and their commands are different as well.
 
+@ignore
+   arch-tag: d8a3dfc3-5d87-45c5-a7f2-69871b8e4fd6
+@end ignore