1 \input texinfo @c -*-texinfo-*-
4 @settitle Message Manual
9 This file documents Message, the Emacs message composition mode.
11 Copyright @copyright{} 1996-2011 Free Software Foundation, Inc.
14 Permission is granted to copy, distribute and/or modify this document
15 under the terms of the GNU Free Documentation License, Version 1.3 or
16 any later version published by the Free Software Foundation; with no
17 Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
18 and with the Back-Cover Texts as in (a) below. A copy of the license
19 is included in the section entitled ``GNU Free Documentation License''.
21 (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
22 modify this GNU manual. Buying copies from the FSF supports it in
23 developing GNU and promoting software freedom.''
29 * Message: (message). Mail and news composition mode that
39 @author by Lars Magne Ingebrigtsen
42 @vskip 0pt plus 1filll
56 All message composition from Gnus (both mail and news) takes place in
60 * Interface:: Setting up message buffers.
61 * Commands:: Commands you can execute in message mode buffers.
62 * Variables:: Customizing the message buffers.
63 * Compatibility:: Making Message backwards compatible.
64 * Appendices:: More technical things.
65 * GNU Free Documentation License:: The license for this documentation.
66 * Index:: Variable, function and concept index.
67 * Key Index:: List of Message mode keys.
70 @c Adjust ../Makefile.in if you change the following lines:
71 Message is distributed with Gnus. The Gnus distribution
73 corresponding to this manual is No Gnus v0.11.
79 When a program (or a person) wants to respond to a message---reply,
80 follow up, forward, cancel---the program (or person) should just put
81 point in the buffer where the message is and call the required command.
82 @code{Message} will then pop up a new @code{message} mode buffer with
83 appropriate headers filled out, and the user can edit the message before
87 * New Mail Message:: Editing a brand new mail message.
88 * New News Message:: Editing a brand new news message.
89 * Reply:: Replying via mail.
90 * Wide Reply:: Responding to all people via mail.
91 * Followup:: Following up via news.
92 * Canceling News:: Canceling a news article.
93 * Superseding:: Superseding a message.
94 * Forwarding:: Forwarding a message via news or mail.
95 * Resending:: Resending a mail message.
96 * Bouncing:: Bouncing a mail message.
97 * Mailing Lists:: Send mail to mailing lists.
100 You can customize the Message Mode tool bar, see @kbd{M-x
101 customize-apropos RET message-tool-bar}. This feature is only available
104 @node New Mail Message
105 @section New Mail Message
108 The @code{message-mail} command pops up a new message buffer.
110 Two optional parameters are accepted: The first will be used as the
111 @code{To} header and the second as the @code{Subject} header. If these
112 are @code{nil}, those two headers will be empty.
115 @node New News Message
116 @section New News Message
119 The @code{message-news} command pops up a new message buffer.
121 This function accepts two optional parameters. The first will be used
122 as the @code{Newsgroups} header and the second as the @code{Subject}
123 header. If these are @code{nil}, those two headers will be empty.
129 @findex message-reply
130 The @code{message-reply} function pops up a message buffer that's a
131 reply to the message in the current buffer.
133 @vindex message-reply-to-function
134 Message uses the normal methods to determine where replies are to go
135 (@pxref{Responses}), but you can change the behavior to suit your needs
136 by fiddling with the @code{message-reply-to-function} variable.
138 If you want the replies to go to the @code{Sender} instead of the
139 @code{From}, you could do something like this:
142 (setq message-reply-to-function
144 (cond ((equal (mail-fetch-field "from") "somebody")
145 (list (cons 'To (mail-fetch-field "sender"))))
150 This function will be called narrowed to the head of the article that is
153 As you can see, this function should return a list. In this case, it
154 returns @code{((To . "Whom"))} if it has an opinion as to what the To
155 header should be. If it does not, it should just return @code{nil}, and
156 the normal methods for determining the To header will be used.
158 Each list element should be a cons, where the @sc{car} should be the
159 name of a header (e.g. @code{Cc}) and the @sc{cdr} should be the header
160 value (e.g. @samp{larsi@@ifi.uio.no}). All these headers will be
161 inserted into the head of the outgoing mail.
167 @findex message-wide-reply
168 The @code{message-wide-reply} pops up a message buffer that's a wide
169 reply to the message in the current buffer. A @dfn{wide reply} is a
170 reply that goes out to all people listed in the @code{To}, @code{From}
171 (or @code{Reply-to}) and @code{Cc} headers.
173 @vindex message-wide-reply-to-function
174 Message uses the normal methods to determine where wide replies are to go,
175 but you can change the behavior to suit your needs by fiddling with the
176 @code{message-wide-reply-to-function}. It is used in the same way as
177 @code{message-reply-to-function} (@pxref{Reply}).
179 @vindex message-dont-reply-to-names
180 Addresses that match the @code{message-dont-reply-to-names} regular
181 expression (or list of regular expressions) will be removed from the
182 @code{Cc} header. A value of @code{nil} means exclude your name only.
184 @vindex message-prune-recipient-rules
185 @code{message-prune-recipient-rules} is used to prune the addresses
186 used when doing a wide reply. It's meant to be used to remove