1.11 Mailing Lists

Sometimes while posting to mailing lists, the poster needs to direct followups to the post to specific places. The Mail-Followup-To (MFT) was created to enable just this. Three example scenarios where this is useful:

Gnus honors the MFT header in other’s messages (i.e., while following up to someone else’s post) and also provides support for generating sensible MFT headers for outgoing messages as well.

1.11.1 Composing a correct MFT header automagically

The first step in getting Gnus to automagically generate a MFT header in posts you make is to give Gnus a list of the mailing lists addresses you are subscribed to. You can do this in more than one way. The following variables would come in handy.


This should be a list of addresses the user is subscribed to. Its default value is nil. Example:

(setq message-subscribed-addresses
      '("ding@gnus.org" "bing@noose.org"))

This should be a list of regexps denoting the addresses of mailing lists subscribed to. Default value is nil. Example: If you want to achieve the same result as above:

(setq message-subscribed-regexps

This can be a list of functions to be called (one at a time!!) to determine the value of MFT headers. It is advisable that these functions not take any arguments. Default value is nil.

There is a pre-defined function in Gnus that is a good candidate for this variable. gnus-find-subscribed-addresses is a function that returns a list of addresses corresponding to the groups that have the subscribed (see Group Parameters in The Gnus Manual) group parameter set to a non-nil value. This is how you would do it.

(setq message-subscribed-address-functions

You might be one organized human freak and have a list of addresses of all subscribed mailing lists in a separate file! Then you can just set this variable to the name of the file and life would be good.

You can use one or more of the above variables. All their values are “added” in some way that works :-)

Now you are all set. Just start composing a message as you normally do. And just send it; as always. Just before the message is sent out, Gnus’ MFT generation thingy kicks in and checks if the message already has a MFT field. If there is one, it is left alone. (Except if it’s empty; in that case, the field is removed and is not replaced with an automatically generated one. This lets you disable MFT generation on a per-message basis.) If there is none, then the list of recipient addresses (in the To: and CC: headers) is checked to see if one of them is a list address you are subscribed to. If none of them is a list address, then no MFT is generated; otherwise, a MFT is added to the other headers and set to the value of all addresses in To: and CC:

Hm. “So”, you ask, “what if I send an email to a list I am not subscribed to? I want my MFT to say that I want an extra copy.” (This is supposed to be interpreted by others the same way as if there were no MFT, but you can use an explicit MFT to override someone else’s to-address group parameter.) The function message-generate-unsubscribed-mail-followup-to might come in handy. It is bound to C-c C-f C-a by default. In any case, you can insert a MFT of your own choice; C-c C-f C-m (message-goto-mail-followup-to) will help you get started.

1.11.2 Honoring an MFT post

When you followup to a post on a mailing list, and the post has a MFT header, Gnus’ action will depend on the value of the variable message-use-mail-followup-to. This variable can be one of:


Always honor MFTs. The To: and CC: headers in your followup will be derived from the MFT header of the original post. This is the default.


Always dishonor MFTs (just ignore the darned thing)


Gnus will prompt you for an action.

It is considered good netiquette to honor MFT, as it is assumed the fellow who posted a message knows where the followups need to go better than you do.