GNU Emacs

32.4.2 Mail Header Editing

Message mode provides the following special commands to move to particular header fields and to complete addresses in headers.

C-c C-f C-t

Move to the ‘ To’ header ( message-goto-to).

C-c C-f C-s

Move to the ‘ Subject’ header ( message-goto-subject).

C-c C-f C-c

Move to the ‘ CC’ header ( message-goto-cc).

C-c C-f C-b

Move to the ‘ BCC’ header ( message-goto-bcc).

C-c C-f C-r

Move to the ‘ Reply-To’ header ( message-goto-reply-to).

C-c C-f C-f

Move to the ‘ Mail-Followup-To’ header field ( message-goto-followup-to).

C-c C-f C-w

Add a new ‘ FCC’ header field, with file-name completion ( message-goto-fcc).

C-c C-b

Move to the start of the message body ( message-goto-body).


Complete a mailing address ( message-tab).

The commands to move point to particular header fields are all based on the prefix C-c C-f (‘ C-f’ is for “field”). If the field in question does not exist, the command creates one (the exception is mail-fcc, which creates a new field each time).

The command C-c C-b ( message-goto-body) moves point to just after the header separator line—that is, to the beginning of the body.

While editing a header field that contains addresses, such as ‘ To:’, ‘ CC:’ and ‘ BCC:’, you can complete an address by typing TAB ( message-tab). This attempts to insert the full name corresponding to the address based on a couple of methods, including EUDC, a library that recognizes a number of directory server protocols (see EUDC in The Emacs Unified Directory Client). Failing that, it attempts to expand the address as a mail alias (see Mail Aliases). If point is on a header field that does not take addresses, or if it is in the message body, then TAB just inserts a tab character.