The References header is an ordered list of mails, and some clients
only look at the last mail in the list to determine to which mail the
mail is in reply to.
Therefore, to be a less obtrusive as possible, put the fallback
address first.
Some info about the reply key lookup in the References header:
https://docs.gitlab.com/ee/administration/reply_by_email.html#how-it-works
A few things to note:
- The IncomingEmail feature is now enabled even without a
correctly-formatted sub-address
- Message-ID for new thread mail are kept the same so that subsequent
notifications to this thread are grouped in the thread by the email
service that receives the notification
(i.e. In-Reply-To of the answer == Message-ID of the first thread message)
- To maximize our chance to be able to retrieve the reply key, we look
for it in the In-Reply-To header and the References header
- The pattern for the fallback reply message id is "reply-[key]@[gitlab_host]"
- Improve docs thanks to Axil