33.10 Sending Replies
Rmail has several commands to send outgoing mail. See Sending Mail, for information on using Message mode, including certain
features meant to work with Rmail. What this section documents are
the special commands of Rmail for entering the mail buffer used to
compose the outgoing message. Note that the usual keys for sending
mail— C-x m
, C-x 4 m
, and C-x 5 m
—also work
normally in Rmail mode.
m
Send a message ( rmail-mail
).
c
Continue editing the already started outgoing message ( rmail-continue
).
r
Send a reply to the current Rmail message ( rmail-reply
).
f
Forward the current message to other users ( rmail-forward
).
C-u f
Resend the current message to other users ( rmail-resend
).
M-m
Try sending a bounced message a second time ( rmail-retry-failure
).
The most common reason to send a message while in Rmail is to reply
to the message you are reading. To do this, type r
( rmail-reply
). This displays a mail composition buffer in
another window, much like C-x 4 m
, but preinitializes the
‘ Subject
’, ‘ To
’, ‘ CC
’, ‘ In-Reply-To
’ and
‘ References
’ header fields based on the message you are replying
to. The ‘ To
’ field starts out as the address of the person who
sent the message you received, and the ‘ CC
’ field starts out with
all the other recipients of that message.
You can exclude certain recipients from being included automatically
in replies, using the variable mail-dont-reply-to-names
. Its
value should be a regular expression; any recipients that match are
excluded from the ‘ CC
’ field. They are also excluded from the
‘ To
’ field, unless this would leave the field empty. If this
variable is nil
, then the first time you compose a reply it is
initialized to a default value that matches your own address.
To reply only to the sender of the original message, enter
the reply command with a numeric argument: C-u r
or 1 r
.
This omits the ‘ CC
’ field completely for a particular reply.
Once the mail composition buffer has been initialized, editing and
sending the mail goes as usual (see Sending Mail). You can edit
the presupplied header fields if they are not what you want. You can
also use commands such as C-c C-y
, which yanks in the message
that you are replying to (see Mail Commands). You can also switch
to the Rmail buffer, select a different message there, switch back,
and yank the new current message.
Sometimes a message does not reach its destination. Mailers usually
send the failed message back to you, enclosed in a failure
message. The Rmail command M-m
( rmail-retry-failure
)
prepares to send the same message a second time: it sets up a
mail composition buffer with the same text and header fields as before. If
you type C-c C-c
right away, you send the message again exactly
the same as the first time. Alternatively, you can edit the text or
headers and then send it. The variable
rmail-retry-ignored-headers
, in the same format as
rmail-ignored-headers
(see Display of Messages), controls which
headers are stripped from the failed message when retrying it.
Another frequent reason to send mail in Rmail is to forward the
current message to other users. f
( rmail-forward
) makes
this easy by preinitializing the mail composition buffer with the current
message as the text, and a subject of the form [from: subject]
, where from and subject are the sender and
subject of the original message. All you have to do is fill in the
recipients and send. When you forward a message, recipients get a
message which is from you, and which has the original message in
its contents.
Rmail offers two formats for forwarded messages. The default is to
use the MIME format (see Display of Messages). This includes the original
message as a separate part. You can use a simpler format if you
prefer, by setting the variable rmail-enable-mime-composing
to
nil
. In this case, Rmail just includes the original message
enclosed between two delimiter lines. It also modifies every line
that starts with a dash, by inserting ‘ -
’ at the start of
the line. When you receive a forwarded message in this format, if it
contains something besides ordinary text—for example, program source
code—you might find it useful to undo that transformation. You can
do this by selecting the forwarded message and typing M-x unforward-rmail-message
. This command extracts the original
forwarded message, deleting the inserted ‘ -
’ strings, and
inserts it into the Rmail file as a separate message immediately
following the current one.
Resending is an alternative similar to forwarding; the
difference is that resending sends a message that is from the
original sender, just as it reached you—with a few added header fields
(‘ Resent-From
’ and ‘ Resent-To
’) to indicate that it came via
you. To resend a message in Rmail, use C-u f
. ( f
runs
rmail-forward
, which invokes rmail-resend
if you provide a
numeric argument.)
Use the m
( rmail-mail
) command to start editing an
outgoing message that is not a reply. It leaves the header fields empty.
Its only difference from C-x 4 m
is that it makes the Rmail buffer
accessible for C-c C-y
, just as r
does.
The c
( rmail-continue
) command resumes editing the
mail composition buffer, to finish editing an outgoing message you were
already composing, or to alter a message you have sent.
If you set the variable rmail-mail-new-frame
to a
non- nil
value, then all the Rmail commands to start sending a
message create a new frame to edit it in. This frame is deleted when
you send the message.
All the Rmail commands to send a message use the mail-composition method that you have chosen (see Mail-Composition Methods).