11 Identities

MH-E supports the concept of multiple personalities or identities. This means that you can easily have a different header and signature at home and at work.

A couple of commands are used to insert identities in MH-Letter mode which are also found in the ‘Identity’ menu.

C-c C-d

Insert fields specified by given identity (mh-insert-identity).

C-c M-d

Insert custom fields if recipient found in mh-auto-fields-list (mh-insert-auto-fields).

The ‘mh-identity’ customization group contains the following options.

mh-auto-fields-list

List of recipients for which header lines are automatically inserted (default: nil).

mh-auto-fields-prompt-flag

On means to prompt before sending if fields inserted (default: ‘on’)

mh-identity-default

Default identity to use when mh-letter-mode is called (default: ‘None’).

mh-identity-handlers

Handler functions for fields in mh-identity-list.

mh-identity-list

List of identities (default: nil).

Some of the common header fields that people change depending on the context are the ‘From:’ and ‘Organization:’ fields, as well as the signature.

This is done by customizing the option mh-identity-list. In the customization buffer for this option, click on the ‘INS’ button and enter a label such as ‘Home’ or ‘Work’. Then click on the ‘INS’ button with the label ‘Add at least one item below’. The ‘Value Menu’ has the following menu items:

From Field

Specify an alternate ‘From:’ header field. You must include a valid email address. A standard format is ‘First Last <login@host.domain>’. If you use an initial with a period, then you must quote your name as in ‘"First I. Last" <login@host.domain>’.

Organization Field

People usually list the name of the company where they work here.

Other Field

Set any arbitrary header field and value here. Unless the header field is a standard one, precede the name of your field’s label with ‘X-’, as in ‘X-Fruit-of-the-Day:’.

Attribution Verb

This value overrides the setting of mh-extract-from-attribution-verb. See Inserting Letter to Which You’re Replying.

Signature

Set your signature with this item. You can specify the contents of mh-signature-file-name, a file, or a function. See Inserting Your Signature.

GPG Key ID

Specify a different key to sign or encrypt messages.

You can select the identities you have added via the menu called ‘Identity’ in the MH-Letter buffer. You can also use C-c C-d (mh-insert-identity). To clear the fields and signature added by the identity, select the ‘None’ identity.

The ‘Identity’ menu contains two other items to save you from having to set the identity on every message. The menu item ‘Set Default for Session’ can be used to set the default identity to the current identity until you exit Emacs. The menu item ‘Save as Default’ sets the option mh-identity-default to the current identity setting. You can also customize the option mh-identity-default in the usual fashion. If you find that you need to add another identity, the menu item ‘Customize Identities’ is available for your convenience.

The option mh-auto-fields-list can also be used to set the identity depending on the recipient to provide even more control. To customize mh-auto-fields-list, click on the ‘INS’ button and enter a regular expression for the recipient’s address (see the section Syntax of Regular Expressions in The GNU Emacs Manual). Click on the ‘INS’ button with the ‘Add at least one item below’ label. The ‘Value Menu’ contains the following menu items:

Identity

Select an identity from those configured in mh-identity-list. All of the information for that identity will be added if the recipient matches.

Fcc Field

Insert an ‘Fcc:’ header field with the folder you provide. When you send the message, MH will put a copy of your message in this folder.

Mail-Followup-To Field

Insert an ‘Mail-Followup-To:’ header field with the recipients you provide. If the recipient’s mail user agent supports this header field46, then their replies will go to the addresses listed. This is useful if their replies go both to the list and to you and you don’t have a mechanism to suppress duplicates. If you reply to someone not on the list, you must either remove the ‘Mail-Followup-To:’ field, or ensure the recipient is also listed there so that he receives replies to your reply.

Other Field

Other header fields may be added using this menu item.

These fields can only be added after the recipient is known. Because you can continue to add recipients as you edit the draft, MH-E waits until the message is sent to perform the auto-insertions. This seems strange at first, but you’ll get used to it. There are two ways to help you feel that the desired fields are added. The first is the action when the message is sent: if any fields are added automatically, you are given a chance to see and to confirm these fields before the message is actually sent. You can do away with this confirmation by turning off the option mh-auto-fields-prompt-flag. The second method is manual: once the header contains one or more recipients, you may run the command C-c M-d (mh-insert-auto-fields) or choose the ‘Identity -> Insert Auto Fields’ menu item to insert these fields manually. However, if you use this command, the automatic insertion when the message is sent is disabled.

You should avoid using the same header field in mh-auto-fields-list and mh-identity-list definitions that may apply to the same message as the result is undefined.

The option mh-identity-handlers is used to change the way that fields, signatures, and attributions in mh-identity-list are added. To customize mh-identity-handlers, replace the name of an existing handler function associated with the field you want to change with the name of a function you have written. You can also click on an ‘INS’ button and insert a field of your choice and the name of the function you have written to handle it.

The ‘Field’ field can be any field that you’ve used in your mh-identity-list. The special fields ‘:attribution-verb’, ‘:signature’, or ‘:pgg-default-user-id’ are used for the mh-identity-list choices ‘Attribution Verb’, ‘Signature’, and ‘GPG Key ID’ respectively.

The handler associated with the ‘:default’ field is used when no other field matches.

The handler functions are passed two or three arguments: the field itself (for example, ‘From’), or one of the special fields (for example, ‘:signature’), and the action ‘'remove’ or ‘'add’. If the action is ‘'add’, an additional argument containing the value for the field is given.


Footnotes

(46)

Mail-Followup-To:’ is supported by nmh.