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.
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
(setq message-subscribed-addresses '("firstname.lastname@example.org" "email@example.com"))
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 '("\\(ding@gnus\\)\\|\\(bing@noose\\)\\.org")
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
There is a pre-defined function in Gnus that is a good candidate for
gnus-find-subscribed-addresses is a function
that returns a list of addresses corresponding to the groups that have
subscribed (see Group Parameters in The Gnus Manual) group parameter set to a non-
This is how you would do it.
(setq message-subscribed-address-functions '(gnus-find-subscribed-addresses))
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.
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.