33.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.