\input texinfo @c -*-texinfo-*-
@setfilename message
-@settitle Message (Oort) Manual
+@settitle Message 5.6.45 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
-@dircategory Emacs
-@direntry
-* Message: (message). Mail and news composition mode that goes with Gnus.
-@end direntry
+@c @direntry
+@c * Message: (message). Mail and news composition mode that goes with Gnus.
+@c @end direntry
@iftex
@finalout
@end iftex
@setchapternewpage odd
-@ifnottex
+@ifinfo
This file documents Message, the Emacs message composition mode.
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 1996 Free Software Foundation, Inc.
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with the Front-Cover texts being ``A GNU
-Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
-license is included in the section entitled ``GNU Free Documentation
-License'' in the Emacs manual.
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
-(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
-this GNU Manual, like GNU software. Copies published by the Free
-Software Foundation raise funds for GNU development.''
+@ignore
+Permission is granted to process this file through Tex and print the
+results, provided the printed document carries copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual).
-This document is part of a collection distributed under the GNU Free
-Documentation License. If you want to distribute this document
-separately from the collection, you can do so by adding a copy of the
-license to the document, as described in section 6 of the license.
-@end ifnottex
+@end ignore
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided also that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions.
+@end ifinfo
@tex
@titlepage
-@title Message (Oort) Manual
+@title Message 5.6.45 Manual
@author by Lars Magne Ingebrigtsen
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1996, 1997, 1998, 1999, 2000, 2001, 2002
- Free Software Foundation, Inc.
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being none, with the Front-Cover texts being ``A GNU
-Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
-license is included in the section entitled ``GNU Free Documentation
-License'' in the Emacs manual.
-
-(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
-this GNU Manual, like GNU software. Copies published by the Free
-Software Foundation raise funds for GNU development.''
-
-This document is part of a collection distributed under the GNU Free
-Documentation License. If you want to distribute this document
-separately from the collection, you can do so by adding a copy of the
-license to the document, as described in section 6 of the license.
+Copyright @copyright{} 1996 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions.
+
@end titlepage
@page
* Key Index:: List of Message mode keys.
@end menu
-This manual corresponds to Oort Message. Message is distributed with
-the Gnus distribution bearing the same version number as this manual.
+This manual corresponds to Message 5.6.45. Message is distributed with
+the Gnus distribution bearing the same version number as this manual
+has.
@node Interface
* Forwarding:: Forwarding a message via news or mail.
* Resending:: Resending a mail message.
* Bouncing:: Bouncing a mail message.
-* Mailing Lists:: Send mail to mailing lists.
@end menu
@section New Mail Message
@findex message-mail
-The @code{message-mail} command pops up a new message buffer.
+The @code{message-mail} command pops up a new message buffer.
Two optional parameters are accepted: The first will be used as the
@code{To} header and the second as the @code{Subject} header. If these
@section New News Message
@findex message-news
-The @code{message-news} command pops up a new message buffer.
+The @code{message-news} command pops up a new message buffer.
This function accepts two optional parameters. The first will be used
as the @code{Newsgroups} header and the second as the @code{Subject}
(setq message-reply-to-function
(lambda ()
(cond ((equal (mail-fetch-field "from") "somebody")
- (list (cons 'To (mail-fetch-field "sender"))))
- (t
+ (mail-fetch-field "sender"))
+ (t
nil))))
@end lisp
should be a cons, where the car should be the name of an header
(eg. @code{Cc}) and the cdr should be the header value
(eg. @samp{larsi@@ifi.uio.no}). All these headers will be inserted into
-the head of the outgoing mail.
+the head of the outgoing mail.
@node Wide Reply
Message uses the normal methods to determine where wide replies are to go,
but you can change the behavior to suit your needs by fiddling with the
@code{message-wide-reply-to-function}. It is used in the same way as
-@code{message-reply-to-function} (@pxref{Reply}).
+@code{message-reply-to-function} (@pxref{Reply}).
-@vindex message-dont-reply-to-names
-Addresses that match the @code{message-dont-reply-to-names} regular
+@findex rmail-dont-reply-to-names
+Addresses that match the @code{rmail-dont-reply-to-names} regular
expression will be removed from the @code{Cc} header.
-@vindex message-wide-reply-confirm-recipients
-If @code{message-wide-reply-confirm-recipients} is non-@code{nil} you
-will be asked to confirm that you want to reply to multiple
-recipients. The default is @code{nil}.
@node Followup
@section Followup
The @code{message-cancel-news} command cancels the article in the
current buffer.
-@vindex message-cancel-message
-The value of @code{message-cancel-message} is inserted in the body of
-the cancel message. The default is @samp{I am canceling my own
-article.}.
-
@node Superseding
@section Superseding
news.
@table @code
-@item message-forward-ignored-headers
-@vindex message-forward-ignored-headers
-All headers that match this regexp will be deleted when forwarding a message.
+@item message-forward-start-separator
+@vindex message-forward-start-separator
+Delimiter inserted before forwarded messages. The default is@*
+@samp{------- Start of forwarded message -------\n}.
+
+@vindex message-forward-end-separator
+@item message-forward-end-separator
+@vindex message-forward-end-separator
+Delimiter inserted after forwarded messages. The default is@*
+@samp{------- End of forwarded message -------\n}.
+
+@item message-signature-before-forwarded-message
+@vindex message-signature-before-forwarded-message
+If this variable is @code{t}, which it is by default, your personal
+signature will be inserted before the forwarded message. If not, the
+forwarded message will be inserted first in the new mail.
+
+@item message-included-forward-headers
+@vindex message-included-forward-headers
+Regexp matching header lines to be included in forwarded messages.
@item message-make-forward-subject-function
@vindex message-make-forward-subject-function
@item message-wash-forwarded-subjects
@vindex message-wash-forwarded-subjects
If this variable is @code{t}, the subjects of forwarded messages have
-the evidence of previous forwards (such as @samp{Fwd:}, @samp{Re:},
+the evidence of previous forwards (such as @samp{Fwd:}, @samp{Re:},
@samp{(fwd)}) removed before the new subject is
constructed. The default value is @code{nil}.
-@item message-forward-as-mime
-@vindex message-forward-as-mime
-If this variable is @code{t} (the default), forwarded messages are
-included as inline @sc{mime} RFC822 parts. If it's @code{nil}, forwarded
-messages will just be copied inline to the new message, like previous,
-non @sc{mime}-savvy versions of gnus would do.
-
-@item message-forward-before-signature
-@vindex message-forward-before-signature
-If non-@code{nil}, put forwarded message before signature, else after.
-
@end table
@vindex message-ignored-resent-headers
Headers that match the @code{message-ignored-resent-headers} regexp will
be removed before sending the message. The default is
-@samp{^Return-receipt}.
+@samp{^Return-receipt}.
@node Bouncing
bounced mail message, pop up a message buffer stripped of the bounce
information. A @dfn{bounced message} is typically a mail you've sent
out that has been returned by some @code{mailer-daemon} as
-undeliverable.
+undeliverable.
@vindex message-ignored-bounced-headers
Headers that match the @code{message-ignored-bounced-headers} regexp
@samp{^\\(Received\\|Return-Path\\):}.
-@node Mailing Lists
-@section Mailing Lists
-
-Sometimes while posting to mailing lists, the poster needs to direct
-followups to the post to specific places. The Mail-Followup-To (MFT)
-was created to enable just this. Two example scenarios where this is
-useful:
-
-@itemize @bullet
-@item
-A mailing list poster can use MFT to express that responses should be
-sent to just the list, and not the poster as well. This will happen
-if the poster is already subscribed to the list.
-
-@item
-A mailing list poster can use MFT to express that responses should be
-sent to the list and the poster as well. This will happen if the poster
-is not subscribed to the list.
-
-@item
-If a message is posted to several mailing lists, MFT may also be used
-to direct the following discussion to one list only, because
-discussions that are spread over several lists tend to be fragmented
-and very difficult to follow.
-
-@end itemize
-
-Gnus honors the MFT header in other's messages (i.e. while following
-up to someone else's post) and also provides support for generating
-sensible MFT headers for outgoing messages as well.
-
-@c @menu
-@c * Honoring an MFT post:: What to do when one already exists
-@c * Composing with a MFT header:: Creating one from scratch.
-@c @end menu
-
-@c @node Composing with a MFT header
-@subsection Composing a correct MFT header automagically
-
-The first step in getting Gnus to automagically generate a MFT header
-in posts you make is to give Gnus a list of the mailing lists
-addresses you are subscribed to. You can do this in more than one
-way. The following variables would come in handy.
-
-@table @code
-
-@vindex message-subscribed-addresses
-@item message-subscribed-addresses
-This should be a list of addresses the user is subscribed to. Its
-default value is @code{nil}. Example:
-@lisp
-(setq message-subscribed-addresses
- '("ding@@gnus.org" "bing@@noose.org"))
-@end lisp
-
-@vindex message-subscribed-regexps
-@item message-subscribed-regexps
-This should be a list of regexps denoting the addresses of mailing
-lists subscribed to. Default value is @code{nil}. Example: If you
-want to achieve the same result as above:
-@lisp
-(setq message-subscribed-regexps
- '("\\(ding@@gnus\\)\\|\\(bing@@noose\\)\\.org")
-@end lisp
-
-@vindex message-subscribed-address-functions
-@item message-subscribed-address-functions
-This can be a list of functions to be called (one at a time!!) to
-determine the value of MFT headers. It is advisable that these
-functions not take any arguments. Default value is @code{nil}.
-
-There is a pre-defined function in Gnus that is a good candidate for
-this variable. @code{gnus-find-subscribed-addresses} is a function
-that returns a list of addresses corresponding to the groups that have
-the @code{subscribed} (@pxref{(gnus)subscribed})
-group parameter set to a non-nil value. This is how you would do it.
-
-@lisp
-(setq message-subscribed-address-functions
- '(gnus-find-subscribed-addresses))
-@end lisp
-
-@vindex message-subscribed-address-file
-@item message-subscribed-address-file
-You might be one organised human freak and have a list of addresses of
-all subscribed mailing lists in a separate file! Then you can just
-set this variable to the name of the file and life would be good.
-
-@end table
-
-You can use one or more of the above variables. All their values are
-``added'' in some way that works :-)
-
-Now you are all set. Just start composing a message as you normally do.
-And just send it; as always. Just before the message is sent out, Gnus'
-MFT generation thingy kicks in and checks if the message already has a
-MFT field. If there is one, it is left alone. (Except if it's empty -
-in that case, the field is removed and is not replaced with an
-automatically generated one. This lets you disable MFT generation on a
-per-message basis.) If there is none, then the list of recipient
-addresses (in the To: and Cc: headers) is checked to see if one of them
-is a list address you are subscribed to. If none of them is a list
-address, then no MFT is generated; otherwise, a MFT is added to the
-other headers and set to the value of all addresses in To: and Cc:
-
-@kindex C-c C-f C-a
-@findex message-gen-unsubscribed-mft
-@kindex C-c C-f C-m
-@findex message-goto-mail-followup-to
-Hm. ``So'', you ask, ``what if I send an email to a list I am not
-subscribed to? I want my MFT to say that I want an extra copy.''
-(This is supposed to be interpreted by others the same way as if there
-were no MFT, but you can use an explicit MFT to override someone
-else's to-address group parameter.) The function
-@code{message-gen-unsubscribed-mft} might come in handy. It is bound
-to @kbd{C-c C-f C-a} by default. In any case, you can insert a MFT of
-your own choice; @kbd{C-c C-f C-m}
-(@code{message-goto-mail-followup-to}) will help you get started.
-
-@c @node Honoring an MFT post
-@subsection Honoring an MFT post
-
-@vindex message-use-mail-followup-to
-When you followup to a post on a mailing list, and the post has a MFT
-header, Gnus' action will depend on the value of the variable
-@code{message-use-mail-followup-to}. This variable can be one of:
-
-@table @code
-@item use
- Always honor MFTs. The To: and Cc: headers in your followup will be
- derived from the MFT header of the original post. This is the default.
-
-@item nil
- Always dishonor MFTs (just ignore the darned thing)
-
-@item ask
-Gnus will prompt you for an action.
-
-@end table
-
-It is considered good nettiquette to honor MFT, as it is assumed the
-fellow who posted a message knows where the followups need to go
-better than you do.
-
@node Commands
@chapter Commands
@menu
-* Buffer Entry:: Commands after entering a Message buffer.
* Header Commands:: Commands for moving to headers.
* Movement:: Moving around in message buffers.
* Insertion:: Inserting things into message buffers.
-* MIME:: @sc{mime} considerations.
-* Security:: Signing and encrypting messages.
* Various Commands:: Various things.
* Sending:: Actually sending the message.
* Mail Aliases:: How to use mail aliases.
-* Spelling:: Having Emacs check your spelling.
@end menu
-@node Buffer Entry
-@section Buffer Entry
-@cindex undo
-@kindex C-_
-
-You most often end up in a Message buffer when responding to some other
-message of some sort. Message does lots of handling of quoted text, and
-may remove signatures, reformat the text, or the like---depending on
-which used settings you're using. Message usually gets things right,
-but sometimes it stumbles. To help the user unwind these stumblings,
-Message sets the undo boundary before each major automatic action it
-takes. If you press the undo key (usually located at @kbd{C-_}) a few
-times, you will get back the un-edited message you're responding to.
-
-
@node Header Commands
@section Header Commands
-All these commands move to the header in question (except for the
-@samp{Importance:} related commands). If it doesn't exist, it will be
-inserted.
+All these commands move to the header in question. If it doesn't exist,
+it will be inserted.
@table @kbd
@item C-c ?
@kindex C-c ?
-@findex describe-mode
+@findex message-goto-to
Describe the message mode.
@item C-c C-f C-t
-@kindex C-c C-f C-t
+@kindex C-c C-f C-t
@findex message-goto-to
Go to the @code{To} header (@code{message-goto-to}).
-@item C-c C-f C-o
-@kindex C-c C-f C-o
-@findex message-goto-from
-Go to the @code{From} header (@code{message-goto-from}). (The ``o''
-in the key binding is for Originator.)
-
@item C-c C-f C-b
-@kindex C-c C-f C-b
+@kindex C-c C-f C-b
@findex message-goto-bcc
Go to the @code{Bcc} header (@code{message-goto-bcc}).
@item C-c C-f C-f
-@kindex C-c C-f C-f
+@kindex C-c C-f C-f
@findex message-goto-fcc
Go to the @code{Fcc} header (@code{message-goto-fcc}).
@item C-c C-f C-c
-@kindex C-c C-f C-c
+@kindex C-c C-f C-c
@findex message-goto-cc
Go to the @code{Cc} header (@code{message-goto-cc}).
@item C-c C-f C-s
-@kindex C-c C-f C-s
+@kindex C-c C-f C-s
@findex message-goto-subject
Go to the @code{Subject} header (@code{message-goto-subject}).
@item C-c C-f C-r
-@kindex C-c C-f C-r
+@kindex C-c C-f C-r
@findex message-goto-reply-to
Go to the @code{Reply-To} header (@code{message-goto-reply-to}).
@item C-c C-f C-n
-@kindex C-c C-f C-n
+@kindex C-c C-f C-n
@findex message-goto-newsgroups
Go to the @code{Newsgroups} header (@code{message-goto-newsgroups}).
@item C-c C-f C-d
-@kindex C-c C-f C-d
+@kindex C-c C-f C-d
@findex message-goto-distribution
Go to the @code{Distribution} header (@code{message-goto-distribution}).
@item C-c C-f C-o
-@kindex C-c C-f C-o
+@kindex C-c C-f C-o
@findex message-goto-followup-to
Go to the @code{Followup-To} header (@code{message-goto-followup-to}).
@item C-c C-f C-k
-@kindex C-c C-f C-k
+@kindex C-c C-f C-k
@findex message-goto-keywords
Go to the @code{Keywords} header (@code{message-goto-keywords}).
@item C-c C-f C-u
-@kindex C-c C-f C-u
+@kindex C-c C-f C-u
@findex message-goto-summary
Go to the @code{Summary} header (@code{message-goto-summary}).
-@item C-c C-f C-i
-@kindex C-c C-f C-i
-@findex message-insert-or-toggle-importance
-This inserts the @samp{Importance:} header with a value of
-@samp{high}. This header is used to signal the importance of the
-message to the receiver. If the header is already present in the
-buffer, it cycles between the three valid values according to RFC
-1376: @samp{low}, @samp{normal} and @samp{high}.
-
-@item M-x message-insert-importance-high
-@kindex M-x message-insert-importance-high
-@findex message-insert-importance-high
-Insert a @samp{Importance:} header with a value of @samp{high},
-deleting headers if necessary.
-
-@item M-x message-insert-importance-low
-@kindex M-x message-insert-importance-low
-@findex message-insert-importance-low
-Insert a @samp{Importance:} header with a value of @samp{low},
-deleting headers if necessary.
-
@end table
@table @kbd
@item C-c C-b
-@kindex C-c C-b
+@kindex C-c C-b
@findex message-goto-body
Move to the beginning of the body of the message
-(@code{message-goto-body}).
+(@code{message-goto-body}).
@item C-c C-i
-@kindex C-c C-i
+@kindex C-c C-i
@findex message-goto-signature
Move to the signature of the message (@code{message-goto-signature}).
-@item C-a
-@kindex C-a
-@findex message-beginning-of-line
-@vindex message-beginning-of-line
-If at beginning of header value, go to beginning of line, else go to
-beginning of header value. (The header value comes after the header
-name and the colon.) This behaviour can be disabled by toggling
-the variable @code{message-beginning-of-line}.
-
@end table
@table @kbd
@item C-c C-y
-@kindex C-c C-y
+@kindex C-c C-y
@findex message-yank-original
Yank the message that's being replied to into the message buffer
-(@code{message-yank-original}).
-
-@item C-c C-M-y
-@kindex C-c C-M-y
-@findex message-yank-buffer
-Prompt for a buffer name and yank the contents of that buffer into the
-message buffer (@code{message-yank-buffer}).
+(@code{message-yank-original}).
@item C-c C-q
-@kindex C-c C-q
+@kindex C-c C-q
@findex message-fill-yanked-message
Fill the yanked message (@code{message-fill-yanked-message}). Warning:
Can severely mess up the yanked text if its quoting conventions are
just remember that @kbd{C-x u} (@code{undo}) is available and you'll be
all right.
+
@item C-c C-w
-@kindex C-c C-w
+@kindex C-c C-w
@findex message-insert-signature
Insert a signature at the end of the buffer
-(@code{message-insert-signature}).
-
-@item C-c M-h
-@kindex C-c M-h
-@findex message-insert-headers
-Insert the message headers (@code{message-insert-headers}).
-
-@item C-c M-n
-@kindex C-c M-n
-@findex message-insert-disposition-notification-to
-Insert a request for a disposition
-notification. (@code{message-insert-disposition-notification-to}).
-This means that if the recipient support RFC 2298 she might send you a
-notification that she received the message.
+(@code{message-insert-signature}).
@end table
+@table @code
+@item message-ignored-cited-headers
+@vindex message-ignored-cited-headers
+All headers that match this regexp will be removed from yanked
+messages. The default is @samp{.}, which means that all headers will be
+removed.
-@node MIME
-@section MIME
-@cindex MML
-@cindex MIME
-@cindex multipart
-@cindex attachment
-
-Message is a @sc{mime}-compliant posting agent. The user generally
-doesn't have to do anything to make the @sc{mime} happen---Message will
-automatically add the @code{Content-Type} and
-@code{Content-Transfer-Encoding} headers.
-
-The most typical thing users want to use the multipart things in
-@sc{mime} for is to add ``attachments'' to mail they send out. This can
-be done with the @kbd{C-c C-a} command, which will prompt for a file
-name and a @sc{mime} type.
-
-You can also create arbitrarily complex multiparts using the MML
-language (@pxref{Composing, , Composing, emacs-mime, The Emacs MIME
-Manual}).
-
-@node Security
-@section Security
-@cindex Security
-@cindex S/MIME
-@cindex PGP
-@cindex PGP/MIME
-@cindex sign
-@cindex encrypt
-@cindex secure
-
-Using the MML language, Message is able to create digitally signed and
-digitally encrypted messages. Message (or rather MML) currently
-support PGP (RFC 1991), @sc{pgp/mime} (RFC 2015/3156) and @sc{s/mime}.
-Instructing MML to perform security operations on a @sc{mime} part is
-done using the @kbd{C-c C-m s} key map for signing and the @kbd{C-c
-C-m c} key map for encryption, as follows.
-
-@table @kbd
-
-@item C-c C-m s s
-@kindex C-c C-m s s
-@findex mml-secure-message-sign-smime
-
-Digitally sign current message using @sc{s/mime}.
-
-@item C-c C-m s o
-@kindex C-c C-m s o
-@findex mml-secure-message-sign-pgp
-
-Digitally sign current message using PGP.
-
-@item C-c C-m s p
-@kindex C-c C-m s p
-@findex mml-secure-message-sign-pgpmime
+@item message-citation-line-function
+@vindex message-citation-line-function
+Function called to insert the citation line. The default is
+@code{message-insert-citation-line}, which will lead to citation lines
+that look like:
-Digitally sign current message using @sc{pgp/mime}.
+@example
+Hallvard B Furuseth <h.b.furuseth@@usit.uio.no> writes:
+@end example
-@item C-c C-m c s
-@kindex C-c C-m c s
-@findex mml-secure-message-encrypt-smime
+Point will be at the beginning of the body of the message when this
+function is called.
-Digitally encrypt current message using @sc{s/mime}.
+@item message-yank-prefix
+@vindex message-yank-prefix
+@cindex yanking
+@cindex quoting
+When you are replying to or following up an article, you normally want
+to quote the person you are answering. Inserting quoted text is done by
+@dfn{yanking}, and each quoted line you yank will have
+@code{message-yank-prefix} prepended to it. The default is @samp{> }.
+If it is @code{nil}, just indent the message.
-@item C-c C-m c o
-@kindex C-c C-m c o
-@findex mml-secure-message-encrypt-pgp
+@item message-indentation-spaces
+@vindex message-indentation-spaces
+Number of spaces to indent yanked messages.
-Digitally encrypt current message using PGP.
+@item message-cite-function
+@vindex message-cite-function
+@findex message-cite-original
+@findex sc-cite-original
+@findex message-cite-original-without-signature
+@cindex Supercite
+Function for citing an original message. The default is
+@code{message-cite-original}, which simply inserts the original message
+and prepends @samp{> } to each line.
+@code{message-cite-original-without-signature} does the same, but elides
+the signature. You can also set it to @code{sc-cite-original} to use
+Supercite.
-@item C-c C-m c p
-@kindex C-c C-m c p
-@findex mml-secure-message-encrypt-pgpmime
+@item message-indent-citation-function
+@vindex message-indent-citation-function
+Function for modifying a citation just inserted in the mail buffer.
+This can also be a list of functions. Each function can find the
+citation between @code{(point)} and @code{(mark t)}. And each function
+should leave point and mark around the citation text as modified.
-Digitally encrypt current message using @sc{pgp/mime}.
+@item message-signature
+@vindex message-signature
+String to be inserted at the end of the message buffer. If @code{t}
+(which is the default), the @code{message-signature-file} file will be
+inserted instead. If a function, the result from the function will be
+used instead. If a form, the result from the form will be used instead.
+If this variable is @code{nil}, no signature will be inserted at all.
-@item C-c C-m C-n
-@kindex C-c C-m C-n
-@findex mml-unsecure-message
-Remove security related MML tags from message.
+@item message-signature-file
+@vindex message-signature-file
+File containing the signature to be inserted at the end of the buffer.
+The default is @samp{~/.signature}.
@end table
-These commands do not immediately sign or encrypt the message, they
-merely insert the proper MML secure tag to instruct the MML engine to
-perform that operation when the message is actually sent. They may
-perform other operations too, such as locating and retrieving a
-@sc{s/mime} certificate of the person you wish to send encrypted mail
-to. When the mml parsing engine converts your MML into a properly
-encoded @sc{mime} message, the secure tag will be replaced with either
-a part or a multipart tag. If your message contains other mml parts,
-a multipart tag will be used; if no other parts are present in your
-message a single part tag will be used. This way, message mode will
-do the Right Thing (TM) with signed/encrypted multipart messages.
-
-@vindex mml-signencrypt-style-alist
-By default, when encrypting a message, Gnus will use the "signencrypt"
-mode. If you would like to disable this for a particular message,
-give the mml-secure-message-encrypt-* command a prefix argument. (for
-example, C-u C-c C-m c p). Additionally, by default Gnus will
-separately sign, then encrypt a message which has the mode
-signencrypt. If you would like to change this behavior you can
-customize the @code{mml-signencrypt-style-alist} variable. For
-example:
-
-
-@lisp
-(setq mml-signencrypt-style-alist '(("smime" combined)
- ("pgp" combined)
- ("pgpmime" combined)))
-@end lisp
-
-Will cause Gnus to sign and encrypt in one pass, thus generating a
-single signed and encrypted part. Note that combined sign and encrypt
-does not work with all supported OpenPGP implementations (in
-particular, PGP version 2 do not support this).
-
-Since signing and especially encryption often is used when sensitive
-information is sent, you may want to have some way to ensure that your
-mail is actually signed or encrypted. After invoking the above
-sign/encrypt commands, it is possible to preview the raw article by
-using @kbd{C-u C-c RET P} (@code{mml-preview}). Then you can
-verify that your long rant about what your ex-significant other or
-whomever actually did with that funny looking person at that strange
-party the other night, actually will be sent encrypted.
-
-@emph{Note!} Neither @sc{pgp/mime} nor @sc{s/mime} encrypt/signs
-RFC822 headers. They only operate on the @sc{mime} object. Keep this
-in mind before sending mail with a sensitive Subject line.
-
-Actually using the security commands above is not very difficult. At
-least not compared with making sure all involved programs talk with each
-other properly. Thus, we now describe what external libraries or
-programs are required to make things work, and some small general hints.
-
-@subsection Using S/MIME
-
-@emph{Note!} This section assume you have a basic familiarity with
-modern cryptography, @sc{s/mime}, various PKCS standards, OpenSSL and
-so on.
-
-The @sc{s/mime} support in Message (and MML) require OpenSSL. OpenSSL
-perform the actual @sc{s/mime} sign/encrypt operations. OpenSSL can
-be found at @uref{http://www.openssl.org/}. OpenSSL 0.9.6 and later
-should work. Version 0.9.5a cannot extract mail addresses from
-certificates, and it insert a spurious CR character into @sc{mime}
-separators so you may wish to avoid it if you would like to avoid
-being regarded as someone who send strange mail. (Although by sending
-@sc{s/mime} messages you've probably already lost that contest.)
-
-To be able to send encrypted mail, a personal certificate is not
-required. Message (MML) need a certificate for the person to whom you
-wish to communicate with though. You're asked for this when you type
-@kbd{C-c C-m c s}. Currently there are two ways to retrieve this
-certificate, from a local file or from DNS. If you chose a local
-file, it need to contain a X.509 certificate in PEM format. If you
-chose DNS, you're asked for the domain name where the certificate is
-stored, the default is a good guess. To my belief, Message (MML) is
-the first mail agent in the world to support retrieving @sc{s/mime}
-certificates from DNS, so you're not likely to find very many
-certificates out there. At least there should be one, stored at the
-domain @code{simon.josefsson.org}. LDAP is a more popular method of
-distributing certificates, support for it is planned. (Meanwhile, you
-can use @code{ldapsearch} from the command line to retrieve a
-certificate into a file and use it.)
-
-As for signing messages, OpenSSL can't perform signing operations
-without some kind of configuration. Especially, you need to tell it
-where your private key and your certificate is stored. MML uses an
-Emacs interface to OpenSSL, aptly named @code{smime.el}, and it
-contain a @code{custom} group used for this configuration. So, try
-@kbd{M-x customize-group RET smime RET} and look around.
-
-Currently there is no support for talking to a CA (or RA) to create
-your own certificate. None is planned either. You need to do this
-manually with OpenSSL or using some other program. I used Netscape
-and got a free @sc{s/mime} certificate from one of the big CA's on the
-net. Netscape is able to export your private key and certificate in
-PKCS #12 format. Use OpenSSL to convert this into a plain X.509
-certificate in PEM format as follows.
-
-@example
-$ openssl pkcs12 -in ns.p12 -clcerts -nodes > key+cert.pem
-@end example
-
-The @file{key+cert.pem} file should be pointed to from the
-@code{smime-keys} variable. You should now be able to send signed mail.
-
-@emph{Note!} Your private key is store unencrypted in the file, so take
-care in handling it.
-
-@subsection Using PGP/MIME
+Note that RFC1036bis says that a signature should be preceded by the three
+characters @samp{-- } on a line by themselves. This is to make it
+easier for the recipient to automatically recognize and process the
+signature. So don't remove those characters, even though you might feel
+that they ruin your beautiful design, like, totally.
-@sc{pgp/mime} requires an external OpenPGP implementation, such as GNU
-Privacy Guard (@uref{http://www.gnupg.org/}). It also requires an
-Emacs interface to it, such as Mailcrypt (available from
-@uref{http://www.nb.net/~lbudney/linux/software/mailcrypt.html}) or
-Florian Weimer's @code{gpg.el}.
+Also note that no signature should be more than four lines long.
+Including ASCII graphics is an efficient way to get everybody to believe
+that you are silly and have nothing important to say.
-@vindex gpg-temp-directory
-Note, if you are using the @code{gpg.el} you must make sure that the
-path specified by @code{gpg-temp-directory} have permissions 0700.
-Creating your own OpenPGP key is described in detail in the
-documentation of your OpenPGP implementation, so we refer to it.
@node Various Commands
@section Various Commands
@table @kbd
@item C-c C-r
-@kindex C-c C-r
+@kindex C-c C-r
@findex message-caesar-buffer-body
Caesar rotate (aka. rot13) the current message
(@code{message-caesar-buffer-body}). If narrowing is in effect, just
@item C-c C-e
@kindex C-c C-e
@findex message-elide-region
-@vindex message-elide-ellipsis
Elide the text between point and mark (@code{message-elide-region}).
-The text is killed and replaced with the contents of the variable
-@code{message-elide-ellipsis}. The default value is to use an ellipsis
-(@samp{[...]}).
+The text is killed and an ellipsis (@samp{[...]}) will be inserted in
+its place.
@item C-c C-z
@kindex C-c C-x
@item M-RET
@kindex M-RET
-@findex message-newline-and-reformat
+@kindex message-newline-and-reformat
Insert four newlines, and then reformat if inside quoted text.
Here's an example:
> And here's more quoted text.
@end example
-@samp{*} says where point will be placed.
+@samp{*} says where point will be placed.
@item C-c C-t
-@kindex C-c C-t
+@kindex C-c C-t
@findex message-insert-to
Insert a @code{To} header that contains the @code{Reply-To} or
@code{From} header of the message you're following up
-(@code{message-insert-to}).
+(@code{message-insert-to}).
@item C-c C-n
-@kindex C-c C-n
+@kindex C-c C-n
@findex message-insert-newsgroups
Insert a @code{Newsgroups} header that reflects the @code{Followup-To}
or @code{Newsgroups} header of the article you're replying to
(@code{message-insert-newsgroups}).
-@item C-c C-o
-@kindex C-c C-o
-@findex message-sort-headers
-@vindex message-header-format-alist
-Sort headers according to @code{message-header-format-alist}
-(@code{message-sort-headers}).
-
@item C-c M-r
@kindex C-c M-r
@findex message-rename-buffer
Rename the buffer (@code{message-rename-buffer}). If given a prefix,
prompt for a new buffer name.
-@item TAB
-@kindex TAB
-@findex message-tab
-@vindex message-tab-body-function
-If non-@code{nil} execute the function specified in
-@code{message-tab-body-function}. Otherwise use the function bound to
-@kbd{TAB} in @code{text-mode-map} or @code{global-map}.
-
@end table
@table @kbd
@item C-c C-c
-@kindex C-c C-c
+@kindex C-c C-c
@findex message-send-and-exit
Send the message and bury the current buffer
-(@code{message-send-and-exit}).
+(@code{message-send-and-exit}).
@item C-c C-s
-@kindex C-c C-s
+@kindex C-c C-s
@findex message-send
-Send the message (@code{message-send}).
+Send the message (@code{message-send}).
@item C-c C-d
@kindex C-c C-d
expansions have to be done explicitly.
-@node Spelling
-@section Spelling
-@cindex spelling
-@findex ispell-message
-
-There are two popular ways to have Emacs spell-check your messages:
-@code{ispell} and @code{flyspell}. @code{ispell} is the older and
-probably more popular package. You typically first write the message,
-and then run the entire thing through @code{ispell} and fix all the
-typos. To have this happen automatically when you send a message, put
-something like the following in your @file{.emacs} file:
-
-@lisp
-(add-hook 'message-send-hook 'ispell-message)
-@end lisp
-
-@vindex ispell-message-dictionary-alist
-If you're in the habit of writing in different languages, this can be
-controlled by the @code{ispell-message-dictionary-alist} variable:
-
-@lisp
-(setq ispell-message-dictionary-alist
- '(("^Newsgroups:.*\\bde\\." . "deutsch8")
- (".*" . "default")))
-@end lisp
-
-@code{ispell} depends on having the external @samp{ispell} command
-installed.
-
-The other popular method is using @code{flyspell}. This package checks
-your spelling while you're writing, and marks any mis-spelled words in
-various ways.
-
-To use @code{flyspell}, put something like the following in your
-@file{.emacs} file:
-
-@lisp
-(defun my-message-setup-routine ()
- (flyspell-mode 1))
-(add-hook 'message-setup-hook 'my-message-setup-routine)
-@end lisp
-
-@code{flyspell} depends on having the external @samp{ispell} command
-installed.
-
@node Variables
@chapter Variables
* Mail Variables:: Other mail variables.
* News Headers:: Customizing news headers.
* News Variables:: Other news variables.
-* Insertion Variables:: Customizing how things are inserted.
* Various Message Variables:: Other message variables.
* Sending Variables:: Variables for sending.
* Message Buffers:: How Message names its buffers.
@item message-generate-headers-first
@vindex message-generate-headers-first
-If @code{t}, generate all required headers before starting to
-compose the message. This can also be a list of headers to generate:
-
-@lisp
-(setq message-generate-headers-first
- '(References))
-@end lisp
-
-@vindex message-required-headers
-The variables @code{message-required-headers},
-@code{message-required-mail-headers} and
-@code{message-required-news-headers} specify which headers are
-required.
-
-Note that some headers will be removed and re-generated before posting,
-because of the variable @code{message-deletable-headers} (see below).
-
-@item message-draft-headers
-@vindex message-draft-headers
-When running Message from Gnus, the message buffers are associated
-with a draft group. @code{message-draft-headers} says which headers
-should be generated when a draft is written to the draft group.
+If non-@code{nil}, generate all headers before starting to compose the
+message.
@item message-from-style
@vindex message-from-style
generated @code{Message-ID} is deleted, and a new one generated. If
this isn't done, the entire empire would probably crumble, anarchy would
prevail, and cats would start walking on two legs and rule the world.
-Allegedly.
+Allegedly.
@item message-default-headers
@vindex message-default-headers
@item message-subject-re-regexp
@vindex message-subject-re-regexp
-@cindex Aw
-@cindex Sv
-@cindex Re
Responses to messages have subjects that start with @samp{Re: }. This
-is @emph{not} an abbreviation of the English word ``response'', but is
+is @emph{not} an abbreviation of the English word ``response'', but in
Latin, and means ``in response to''. Some illiterate nincompoops have
failed to grasp this fact, and have ``internationalized'' their software
to use abonimations like @samp{Aw: } (``antwort'') or @samp{Sv: }
set this variable to a regexp that matches these prefixes. Myself, I
just throw away non-compliant mail.
-Here's an example of a value to deal with these headers when
-responding to a message:
-
-@lisp
-(setq message-subject-re-regexp
- "^\\(\\(\\([Rr][Ee]\\|[Ss][Vv]\\|[Aa][Ww]\\): *\\)+\\)")
-@end lisp
-
-@item message-alternative-emails
-@vindex message-alternative-emails
-A regexp to match the alternative email addresses. The first matched
-address (not primary one) is used in the @code{From} field.
-
-@item message-allow-no-recipients
-@vindex message-allow-no-recipients
-Specifies what to do when there are no recipients other than
-@code{Gcc} or @code{Fcc}. If it is @code{always}, the posting is
-allowed. If it is @code{never}, the posting is not allowed. If it is
-@code{ask} (the default), you are prompted.
-
@end table
@vindex message-required-mail-headers
@xref{News Headers}, for the syntax of this variable. It is
@code{(From Date Subject (optional . In-Reply-To) Message-ID Lines
-(optional . User-Agent))} by default.
+(optional . X-Mailer))} by default.
@item message-ignored-mail-headers
@vindex message-ignored-mail-headers
Regexp of headers to be removed before mailing. The default is
-@samp{^[GF]cc:\\|^Resent-Fcc:\\|^Xref:\\|^X-Draft-From:}.
+@samp{^[GF]cc:\\|^Resent-Fcc:}.
@item message-default-mail-headers
@vindex message-default-mail-headers
@node Mail Variables
-@section Mail Variables
+@section Mail Variables
@table @code
@item message-send-mail-function
@vindex message-send-mail-function
-@findex message-send-mail-with-sendmail
-@findex message-send-mail-with-mh
-@findex message-send-mail-with-qmail
-@findex message-smtpmail-send-it
-@findex smtpmail-send-it
-@findex feedmail-send-it
-Function used to send the current buffer as mail. The default is
-@code{message-send-mail-with-sendmail}. Other valid values include
-@code{message-send-mail-with-mh}, @code{message-send-mail-with-qmail},
-@code{message-smtpmail-send-it}, @code{smtpmail-send-it} and
-@code{feedmail-send-it}.
+Function used to send the current buffer as mail. The default is
+@code{message-send-mail-with-sendmail}. If you prefer using MH
+instead, set this variable to @code{message-send-mail-with-mh}.
@item message-mh-deletable-headers
@vindex message-mh-deletable-headers
messages via MH. Set it to @code{nil} if your MH can handle these
headers.
-@item message-qmail-inject-program
-@vindex message-qmail-inject-program
-@cindex qmail
-Location of the qmail-inject program.
-
-@item message-qmail-inject-args
-@vindex message-qmail-inject-args
-Arguments passed to qmail-inject programs.
-This should be a list of strings, one string for each argument. It
-may also be a function.
-
-For e.g., if you wish to set the envelope sender address so that bounces
-go to the right place or to deal with listserv's usage of that address, you
-might set this variable to @code{'("-f" "you@@some.where")}.
-
-@item message-sendmail-f-is-evil
-@vindex message-sendmail-f-is-evil
-@cindex sendmail
-Non-@code{nil} means don't add @samp{-f username} to the sendmail
-command line. Doing so would be even more evil than leaving it out.
-
-@item message-mailer-swallows-blank-line
-@vindex message-mailer-swallows-blank-line
-Set this to non-@code{nil} if the system's mailer runs the header and
-body together. (This problem exists on Sunos 4 when sendmail is run
-in remote mode.) The value should be an expression to test whether
-the problem will actually occur.
-
-@item message-send-mail-partially-limit
-@vindex message-send-mail-partially-limit
-The limitation of messages sent as message/partial.
-The lower bound of message size in characters, beyond which the message
-should be sent in several parts. If it is nil, the size is unlimited.
-
@end table
@item Subject
@cindex Subject
-This required header will be prompted for if not present already.
+This required header will be prompted for if not present already.
@item Newsgroups
@cindex Newsgroups
@item Organization
@cindex organization
-@vindex message-user-organization
-@vindex message-user-organization-file
This optional header will be filled out depending on the
@code{message-user-organization} variable.
@code{message-user-organization-file} will be used if this variable is
@findex system-name
@cindex Sun
This required header will be generated by Message. A unique ID will be
-created based on the date, time, user name and system name. Message
-will use @code{system-name} to determine the name of the system. If
-this isn't a fully qualified domain name (FQDN), Message will use
-@code{mail-host-address} as the FQDN of the machine.
-
-@item User-Agent
-@cindex User-Agent
+created based on the date, time, user name and system name. Message will
+use @code{mail-host-address} as the fully qualified domain name (FQDN)
+of the machine if that variable is defined. If not, it will use
+@code{system-name}, which doesn't report a FQDN on some machines --
+notably Suns.
+
+@item X-Newsreader
+@cindex X-Newsreader
This optional header will be filled out according to the
@code{message-newsreader} local variable.
+@item X-Mailer
+This optional header will be filled out according to the
+@code{message-mailer} local variable, unless there already is an
+@code{X-Newsreader} header present.
+
@item In-Reply-To
This optional header is filled out using the @code{Date} and @code{From}
header of the article being replied to.
@item Expires
@cindex Expires
-@vindex message-expires
This extremely optional header will be inserted according to the
@code{message-expires} variable. It is highly deprecated and shouldn't
be used unless you know what you're doing.
@item Distribution
@cindex Distribution
-@vindex message-distribution-function
This optional header is filled out according to the
@code{message-distribution-function} variable. It is a deprecated and
much misunderstood header.
@item Path
@cindex path
-@vindex message-user-path
This extremely optional header should probably never be used.
However, some @emph{very} old servers require that this header is
present. @code{message-user-path} further controls how this
@code{optional}, the cdr of this cons will only be inserted if it is
non-@code{nil}.
-If you want to delete an entry from this list, the following Lisp
-snippet might be useful. Adjust accordingly if you want to remove
-another element.
-
-@lisp
-(setq message-required-news-headers
- (delq 'Message-ID message-required-news-headers))
-@end lisp
-
Other variables for customizing outgoing news articles:
@table @code
Valid checks are:
@table @code
-@item subject-cmsg
+@item subject-cmsg
Check the subject for commands.
@item sender
@cindex Sender
-Insert a new @code{Sender} header if the @code{From} header looks odd.
-@item multiple-headers
+Insert a new @code{Sender} header if the @code{From} header looks odd.
+@item multiple-headers
Check for the existence of multiple equal headers.
-@item sendsys
+@item sendsys
@cindex sendsys
Check for the existence of version and sendsys commands.
@item message-id
Check whether the @code{Message-ID} looks ok.
@item from
Check whether the @code{From} header seems nice.
-@item long-lines
+@item long-lines
@cindex long lines
Check for too long lines.
@item control-chars
something only moderators should include.
@item empty
Check whether the article is empty.
-@item invisible-text
-Check whether there is any invisible text in the buffer.
@item empty-headers
Check whether any of the headers are empty.
@item existing-newsgroups
-Check whether the newsgroups mentioned in the @code{Newsgroups} and
+Check whether the newsgroups mentioned in the @code{Newsgroups} and
@code{Followup-To} headers exist.
@item valid-newsgroups
Check whether the @code{Newsgroups} and @code{Followup-to} headers
@item message-ignored-news-headers
@vindex message-ignored-news-headers
Regexp of headers to be removed before posting. The default is@*
-@samp{^NNTP-Posting-Host:\\|^Xref:\\|^[BGF]cc:\\|^Resent-Fcc:\\|^X-Draft-From:}.
+@samp{^NNTP-Posting-Host:\\|^Xref:\\|^[BGF]cc:\\|^Resent-Fcc:}.
@item message-default-news-headers
@vindex message-default-news-headers
@item message-send-news-function
@vindex message-send-news-function
Function used to send the current buffer as news. The default is
-@code{message-send-news}.
+@code{message-send-news}.
@item message-post-method
@vindex message-post-method
@end table
-@node Insertion Variables
-@section Insertion Variables
-
-@table @code
-@item message-ignored-cited-headers
-@vindex message-ignored-cited-headers
-All headers that match this regexp will be removed from yanked
-messages. The default is @samp{.}, which means that all headers will be
-removed.
-
-@item message-cite-prefix-regexp
-@vindex message-cite-prefix-regexp
-Regexp matching the longest possible citation prefix on a line.
-
-@item message-citation-line-function
-@vindex message-citation-line-function
-@cindex attribution line
-Function called to insert the citation line. The default is
-@code{message-insert-citation-line}, which will lead to citation lines
-that look like:
-
-@example
-Hallvard B Furuseth <h.b.furuseth@@usit.uio.no> writes:
-@end example
-
-Point will be at the beginning of the body of the message when this
-function is called.
-
-Note that Gnus provides a feature where clicking on `writes:' hides the
-cited text. If you change the citation line too much, readers of your
-messages will have to adjust their Gnus, too. See the variable
-@code{gnus-cite-attribution-suffix}. @xref{Article Highlighting, ,
-Article Highlighting, gnus}, for details.
-
-@item message-yank-prefix
-@vindex message-yank-prefix
-@cindex yanking
-@cindex quoting
-When you are replying to or following up an article, you normally want
-to quote the person you are answering. Inserting quoted text is done
-by @dfn{yanking}, and each line you yank will have
-@code{message-yank-prefix} prepended to it (except for quoted and
-empty lines which uses @code{message-yank-cited-prefix}). The default
-is @samp{> }.
-
-@item message-yank-cited-prefix
-@vindex message-yank-cited-prefix
-@cindex yanking
-@cindex cited
-@cindex quoting
-When yanking text from a article which contains no text or already
-cited text, each line will be prefixed with the contents of this
-variable. The default is @samp{>}. See also
-@code{message-yank-prefix}.
-
-@item message-indentation-spaces
-@vindex message-indentation-spaces
-Number of spaces to indent yanked messages.
-
-@item message-cite-function
-@vindex message-cite-function
-@findex message-cite-original
-@findex sc-cite-original
-@findex message-cite-original-without-signature
-@cindex Supercite
-Function for citing an original message. The default is
-@code{message-cite-original}, which simply inserts the original message
-and prepends @samp{> } to each line.
-@code{message-cite-original-without-signature} does the same, but elides
-the signature. You can also set it to @code{sc-cite-original} to use
-Supercite.
-
-@item message-indent-citation-function
-@vindex message-indent-citation-function
-Function for modifying a citation just inserted in the mail buffer.
-This can also be a list of functions. Each function can find the
-citation between @code{(point)} and @code{(mark t)}. And each function
-should leave point and mark around the citation text as modified.
-
-@item message-signature
-@vindex message-signature
-String to be inserted at the end of the message buffer. If @code{t}
-(which is the default), the @code{message-signature-file} file will be
-inserted instead. If a function, the result from the function will be
-used instead. If a form, the result from the form will be used instead.
-If this variable is @code{nil}, no signature will be inserted at all.
-
-@item message-signature-file
-@vindex message-signature-file
-File containing the signature to be inserted at the end of the buffer.
-The default is @file{~/.signature}.
-
-@item message-signature-insert-empty-line
-@vindex message-signature-insert-empty-line
-If @code{t} (the default value) an empty line is inserted before the
-signature separator.
-
-@end table
-
-Note that RFC1036bis says that a signature should be preceded by the three
-characters @samp{-- } on a line by themselves. This is to make it
-easier for the recipient to automatically recognize and process the
-signature. So don't remove those characters, even though you might feel
-that they ruin your beautiful design, like, totally.
-
-Also note that no signature should be more than four lines long.
-Including ASCII graphics is an efficient way to get everybody to believe
-that you are silly and have nothing important to say.
-
-
@node Various Message Variables
@section Various Message Variables
@table @code
-@item message-default-charset
-@vindex message-default-charset
-@cindex charset
-Symbol naming a @sc{mime} charset. Non-ASCII characters in messages are
-assumed to be encoded using this charset. The default is @code{nil},
-which means ask the user. (This variable is used only on non-@sc{mule}
-Emacsen.
-@xref{Charset Translation, , Charset Translation, emacs-mime,
- Emacs MIME Manual}, for details on the @sc{mule}-to-@sc{mime}
-translation process.
-
@item message-signature-separator
@vindex message-signature-separator
Regexp matching the signature separator. It is @samp{^-- *$} by
-default.
+default.
@item mail-header-separator
@vindex mail-header-separator
@item message-directory
@vindex message-directory
-Directory used by many mailey things. The default is @file{~/Mail/}.
-
-@item message-auto-save-directory
-@vindex message-auto-save-directory
-Directory where Message auto-saves buffers if Gnus isn't running. If
-@code{nil}, Message won't auto-save. The default is @file{~/Mail/drafts/}.
+Directory used by many mailey things. The default is @file{~/Mail/}.
@item message-signature-setup-hook
@vindex message-signature-setup-hook
Hook run when initializing the message buffer. It is run after the
-headers have been inserted but before the signature has been inserted.
+headers have been inserted but before the signature has been inserted.
@item message-setup-hook
@vindex message-setup-hook
@item message-header-setup-hook
@vindex message-header-setup-hook
-Hook called narrowed to the headers after initializing the headers.
+Hook called narrowed to the headers after initializing the headers.
For instance, if you're running Gnus and wish to insert a
@samp{Mail-Copies-To} header in all your news articles and all messages
@lisp
(add-hook 'message-send-hook 'my-message-add-content)
(defun my-message-add-content ()
- (message-add-header "X-In-No-Sense: Nonsense")
- (message-add-header "X-Whatever: no"))
+ (message-add-header
+ "Mime-Version: 1.0"
+ "Content-Type: text/plain"
+ "Content-Transfer-Encoding: 7bit"))
@end lisp
This function won't add the header if the header is already present.
@vindex message-sent-hook
Hook run after sending messages.
-@item message-cancel-hook
-@vindex message-cancel-hook
-Hook run when cancelling news articles.
-
@item message-mode-syntax-table
@vindex message-mode-syntax-table
Syntax table used in message mode buffers.
-@item message-strip-special-text-properties
-@vindex message-strip-special-text-properties
-Emacs has a number of special text properties which can break message
-composing in various ways. If this option is set, message will strip
-these properties from the message composition buffer. However, some
-packages requires these properties to be present in order to work. If
-you use one of these packages, turn this option off, and hope the
-message composition doesn't break too bad.
-
@item message-send-method-alist
@vindex message-send-method-alist
@table @code
-@item message-fcc-handler-function
-@vindex message-fcc-handler-function
+@item message-fcc-handler-function
+@vindex message-fcc-handler-function
A function called to save outgoing articles. This function will be
-called with the name of the file to store the article in. The default
+called with the name of the file to store the article in. The default
function is @code{message-output} which saves in Unix mailbox format.
@item message-courtesy-message
newsgroups the article has been posted to will be inserted there. If
this variable is @code{nil}, no such courtesy message will be added.
The default value is @samp{"The following message is a courtesy copy of
-an article\\nthat has been posted to %s as well.\\n\\n"}.
-
-@item message-fcc-externalize-attachments
-@vindex message-fcc-externalize-attachments
-If @code{nil}, attach files as normal parts in Fcc copies; if it is
-non-@code{nil}, attach local files as external parts.
-
-@item message-interactive
-@vindex message-interactive
-If non-@code{nil} wait for and display errors when sending a message;
-if @code{nil} let the mailer mail back a message to report errors.
+an article\nthat has been posted to %s as well.\n\n"}.
@end table
When Message is being used from a news/mail reader, the reader is likely
to want to perform some task after the message has been sent. Perhaps
return to the previous window configuration or mark an article as
-replied.
+replied.
@vindex message-kill-actions
@vindex message-postpone-actions
and @kbd{C-c C-k} which kills the message buffer. Each of these actions
have lists associated with them that contains actions to be executed:
@code{message-send-actions}, @code{message-exit-actions},
-@code{message-postpone-actions}, and @code{message-kill-actions}.
+@code{message-postpone-actions}, and @code{message-kill-actions}.
Message provides a function to interface with these lists:
@code{message-add-action}. The first parameter is the action to be
Message uses virtually only its own variables---older @code{mail-}
variables aren't consulted. To force Message to take those variables
-into account, you can put the following in your @file{.emacs} file:
+into account, you can put the following in your @code{.emacs} file:
@lisp
(require 'messcompat)