Well, how else do you explain that when I remove Message-ID from
message-required-mail-headers and send my email, then the Message-ID
is given by the value of message-user-fqdn or when nil, by
system-name?
As I already said: My guess was that your sendmail program adds a
message-id.
But then why does such Message-ID always reflect the value of
message-user-fqdn ? If it really were sendmail adding it and not
Message, then why would sendmail set the value of the Message-ID header
according to the value of the variable message-user-fqdn? I think that
sendmail doesn't even know about the message-user-fqdn variable.
You can set `message-generate-headers-first' to t and see what headers
Message produces when you start editing a message.
Good suggestion: I just tried. Now message-generate-headers-first is
true, and Message-ID doesn't appear in the
message-required-mail-headers. Result: my emails all have Message-ID
header, and it always reflects the value of message-user-fqdn!
The mystery persists.