### 4.6 Sending Replies

IMAIL has several commands that use Mail mode to send outgoing mail. What this section documents are the special commands of IMAIL for entering Mail mode. Note that the usual keys for sending mail—`C-x m`, `C-x 4 m`, and `C-x 5 m`—are available in IMAIL mode and work just as they usually do.

`m`

  Send a message (`imail-mail`).

`c`

  Continue editing the already started outgoing message (`imail-continue`).

`r`

  Send a reply to the current IMAIL message (`imail-reply`).

`f`

  Forward the current message to other users (`imail-forward`).

`C-u f`

  Resend the current message to other users (`imail-resend`).

The most common reason to send a message while in IMAIL is to reply to the message you are reading. To do this, type `r` (`imail-reply`). This displays the ‘`*mail*`’ buffer in another window, much like `C-x 4 m`, but preinitializes the ‘`Subject`’, ‘`To`’, ‘`CC`’ and ‘`In-reply-to`’ 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 placed automatically in the ‘`CC`’, using the variable `imail-dont-reply-to-names`. Its value should be a regular expression (as a string); any recipient that the regular expression matches is excluded from the ‘`CC`’ field. The default value matches your own name, and any name starting with ‘`info-`’ (the value of the variable `imail-default-dont-reply-to-names`). (Those names are excluded because there is a convention of using them for large mailing lists to broadcast announcements.)

To omit the ‘`CC`’ field completely for a particular reply, enter the reply command with a numeric argument: `C-u r` or `1 r`.

By default, the ‘`Subject`’ field of a reply is initialized to the contents of the ‘`Subject`’ field of the message being replied to. However, if the variable `imail-reply-with-re` is set to `#t`, then the reply subject will be prefixed with ‘`Re:`’.

Once the ‘`*mail*`’ buffer has been initialized, editing and sending the mail goes as usual. You can edit the presupplied header fields if they are not right for you. You can also use the commands of Mail mode, including `C-c C-y` which yanks in the message that you are replying to. You can switch to the IMAIL buffer, select a different message there, switch back, and yank the new current message.

Another frequent reason to send mail in IMAIL is to forward the current message to other users. `f` (`imail-forward`) makes this easy by preinitializing the ‘`*mail*`’ buffer with the current message as a MIME attachment, and a subject designating a forwarded 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.

By default, forwarded messages are sent as MIME attachments, which allows MIME-aware mail readers to recognize that the attachment is a mail message and to specially present it. However, this means that such forwarded messages appear more complex when viewed in mail readers that do not understand MIME. IMAIL deliberately minimizes the amount of encoding overhead used for MIME-forwarded messages, but some people prefer not to use MIME at all. For that reason, IMAIL allows you to turn off this feature, so that forwarded messages are included in the main body of the message (as Rmail does). To do this, set the variable `imail-forward-using-mime` to `#f`.

Normally, when IMAIL forwards a message, it sends only a few of the message’s header fields. In particular, it sends only those header fields that you see when viewing the message in IMAIL. Sometimes it is desirable to send all of the message’s header fields; IMAIL provides two ways to do this. First, if you want to send all of the header fields for a particular message, use `imail-forward` with a negative argument, like this: `- f`. Alternatively, you can set the variable `imail-forward-all-headers` to `#t`, which will cause all forwarded messages to retain all of their header fields.

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 IMAIL, use `C-u f`. (`f` runs `imail-forward`, which is programmed to invoke `imail-resend` if you provide a numeric argument.)

The `m` (`imail-mail`) command is used 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 IMAIL buffer accessible for `C-c C-y`, just as `r` does. Thus, `m` can be used to reply to or forward a message.

The `c` (`imail-continue`) command resumes editing the ‘`*mail*`’ buffer, to finish editing an outgoing message you were already composing, or to alter a message you have sent.