Next: Aliases, Previous: Sending Mail, Up: Top

## 9 Editing a Draft

When you edit a message that you want to send (called a draft in this case), the mode used is MH-Letter. This mode provides several commands in addition to the normal Emacs editing commands to help you edit your draft. These can also be found in the ‘`Letter`’ menu.

`<SPC>`
  Perform completion or insert space (`mh-letter-complete-or-space`).
`M-<TAB>`
  Perform completion on header field or word preceding point (`mh-letter-complete`).
`, (comma)`
  Flash alias expansion (`mh-letter-confirm-address`).
`<TAB>`
  Cycle to next field (`mh-letter-next-header-field-or-indent`).
`S-<TAB>`
  Cycle to the previous header field (`mh-letter-previous-header-field`).
`C-c ?`
  Display cheat sheet for the MH-E commands (`mh-help`).
`C-c C-c`
  Save draft and send message (`mh-send-letter`).
`C-c C-d`
  Insert fields specified by the given identity (`mh-insert-identity`). See Identities.
`C-c C-e`
  Compose mime message from MH-style directives (`mh-mh-to-mime`).
`C-c C-f C-a`
`C-c C-f a`
  Move to ‘`Mail-Reply-To:`’ header field (`mh-to-field`).
`C-c C-f C-b`
`C-c C-f b`
  Move to ‘`Bcc:`’ header field (`mh-to-field`).
`C-c C-f C-c`
`C-c C-f c`
  Move to ‘`Cc:`’ header field (`mh-to-field`).
`C-c C-f C-d`
`C-c C-f d`
  Move to ‘`Dcc:`’ header field (`mh-to-field`).
`C-c C-f C-f`
`C-c C-f f`
  Move to ‘`Fcc:`’ header field (`mh-to-fcc`).
`C-c C-f C-l`
`C-c C-f l`
  Move to ‘`Mail-Followup-To:`’ header field (`mh-to-field`).
`C-c C-f C-m`
`C-c C-f m`
  Move to ‘`From:`’ header field (`mh-to-field`).
`C-c C-f C-r`
`C-c C-f r`
  Move to ‘`Reply-To:`’ header field (`mh-to-field`).
`C-c C-f C-s`
`C-c C-f s`
  Move to ‘`Subject:`’ header field (`mh-to-field`).
`C-c C-f C-t`
`C-c C-f t`
  Move to ‘`To:`’ header field (`mh-to-field`).
`C-c C-i`
  Insert a message (`mh-insert-letter`).
`C-c C-m C-e`
  Add tag to encrypt the message (`mh-mml-secure-message-encrypt`).
`C-c C-m C-f`
`C-c C-m f`
  Add tag to forward a message (`mh-compose-forward`).
`C-c C-m C-g`
`C-c C-m g`
  Add tag to include anonymous ftp reference to a file (`mh-mh-compose-anon-ftp`).
`C-c C-m C-i`
`C-c C-m i`
  Add tag to include a file such as an image or sound (`mh-compose-insertion`).
`C-c C-m C-m`
`C-c C-m m`
  Compose mime message from MML tags (`mh-mml-to-mime`).
`C-c C-m C-n`
`C-c C-m n`
  Remove any secure message tags (`mh-mml-unsecure-message`).
`C-c C-m C-s`
  Add tag to sign the message (`mh-mml-secure-message-sign`).
`C-c C-m C-t`
`C-c C-m t`
  Add tag to include anonymous ftp reference to a compressed tar file (`mh-mh-compose-external-compressed-tar`).
`C-c C-m C-u`
`C-c C-m u`
  Undo effects of `C-c C-e` (`mh-mh-to-mime-undo`).
`C-c C-m C-x`
`C-c C-m x`
  Add tag to refer to a remote file (`mh-mh-compose-external-type`).
`C-c C-m e e`
  Add tag to encrypt the message (`mh-mml-secure-message-encrypt`).
`C-c C-m e s`
  Add tag to encrypt and sign the message
  (`mh-mml-secure-message-signencrypt`).
`C-c C-m s e`
  Add tag to encrypt and sign the message
  (`mh-mml-secure-message-signencrypt`).
`C-c C-m s s`
  Add tag to sign the message (`mh-mml-secure-message-sign`).
`C-c C-o`
  Insert a newline and leave point before it (`mh-open-line`).
`C-c C-q`
  Quit editing and delete draft message (`mh-fully-kill-draft`).
`C-c C-s`
  Insert signature in message (`mh-insert-signature`).
`C-c C-t`
  Toggle display of header field at point (`mh-letter-toggle-header-field-display`).
`C-c C-w`
  Verify recipients, showing expansion of any aliases (`mh-check-whom`).
`C-c C-y`
  Insert the current message into the draft buffer (`mh-yank-cur-msg`).
`C-c M-d`
  Insert custom fields if recipient is found in `mh-auto-fields-list` (`mh-insert-auto-fields`). See Identities.

Several options from the ‘`mh-letter`’ customization group are used while editing a draft.

`mh-compose-insertion`
  Type of mime message tags in messages (default: ‘`MML`’ if available; otherwise ‘`MH`’).
`mh-compose-skipped-header-fields`
  List of header fields to skip over when navigating in draft (default: `'("From"` `"Organization"` `"References"` `"In-Reply-To"` `"X-Face"` `"Face"` `"X-Image-URL"` `"X-Mailer")`.
`mh-compose-space-does-completion-flag`
  On means <SPC> does completion in message header (default: ‘`off`’).
`mh-delete-yanked-msg-window-flag`
  On means delete any window displaying the message (default: ‘`off`’).
`mh-extract-from-attribution-verb`
  Verb to use for attribution when a message is yanked by `C-c C-y` (default: `"wrote:"`).
`mh-ins-buf-prefix`
  String to put before each line of a yanked or inserted message (default: `"> "`).
`mh-letter-complete-function`
  Function to call when completing outside of address or folder fields (default: `ispell-complete-word`).
`mh-letter-fill-column`
  Fill column to use in MH-Letter mode (default: 72).
`mh-mml-method-default`
  Default method to use in security tags (default: ‘`PGP (MIME)`’ if support for it is available; otherwise ‘`None`’).
`mh-signature-file-name`
  Source of user's signature (default: `"~/.signature"`).
`mh-signature-separator-flag`
  On means a signature separator should be inserted (default: ‘`on`’).
`mh-x-face-file`
  File containing X-Face or Face header field to insert in outgoing mail. (default: `"~/.face"`).
`mh-yank-behavior`
  Controls which part of a message is yanked by `C-c C-y` (default: ‘`Body With Attribution`’).

The following hooks are available.

`mail-citation-hook`
  Hook for modifying a citation just inserted in the mail buffer (default: `nil`).
`mh-before-send-letter-hook`
  Hook run at the beginning of the `C-c C-c` command (default: ‘`nil`’).
`mh-mh-to-mime-hook`
  Hook run on the formatted letter by `C-c C-e` (default: ‘`nil`’).
`mh-insert-signature-hook`
  Hook run by `C-c C-s` after signature has been inserted (default: `nil`).

The following face is available.

`mh-letter-header-field`
  Editable header field value face in draft buffers.

The commands and options introduced here are explained in more detail in the following sections.