Why is message-id warning implemented? Edit #46? Is it needed?

Richard G

Verified User
Joined
Jul 6, 2008
Messages
12,558
Location
Maastricht
Hello.
I would like to ask the following.

When I send email from my hobby forum it's allright. When I send one to a Microsoft account (like Outlook/hotmail/live) then this happens:
Code:
2019-09-02 01:31:18 1i4ZJV-0005JR-UU => [email protected] F=<[email protected]> R=lookuphost T=remote_smtp S=11599 H=hotmail-com.olc.protection.outlook.com [104.47.14.33] X=TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256 CV=no C="250 2.6.0 <[email protected]> [InternalId=23235773103945, Hostname=VI1EUR04HT031.eop-eur04.prod.protection.outlook.com] 19874 bytes in 0.241, 80.331 KB/sec Queued mail for delivery -> 250 2.1.5"

It's the part:
<[email protected]>
which triggered me.
So somebody said that this was not added by my forum software and they had to add it. But they say that is not needed. Even stronger:
forumsupport said:
It's fairly bizarre that your Exim has been configured to add a warn action on that

So I had a search and found edit #46 in spamblocker exim.conf:
Code:
#EDIT#46.1#T9653
  warn    condition       = ${if !def:h_Message-ID: {yes}{no}}
          message         = Adding Message-ID header because it is missing!
          add_header      = Message-ID: <GENERATED-WASMISSING-$message_exim_id@$primary_hostname>


Now I found this explanation.
If a locally-generated or submission-mode incoming message does not contain a Message-ID: or Resent-Message-ID:header line, and the suppress_local_fixups control is not set, Exim adds a suitable header line to the message. If there are any Resent-: headers in the message, it creates Resent-Message-ID:. The id is constructed from Exim’s internal message id, preceded by the letter E to ensure it starts with a letter, and followed by @ and the primary host name. Additional information can be included in this header line by setting the message_id_header_text and/or message_id_header_domain options.

But that does not explain WHY this is necessary. The forum software support thinks it's not necessary. So I told them a panel on request of the professional hosting world, would not add this for fun.

Can somebody explain what issue this might cause when no message-id present and why this is added to Exim?
Is this still necessary nowadays or has this edit become obsolete?

I would like to inform the forum support on why this should be present on decent forum software.... or not.
 
Hello Alex.

That is correct, but that does not explain why the edit is done. I know that it's added by the line in exim.conf edit #46 but not the reason why.
You stated:
I believe it's the forums software which generates emails, and in this case the forums engine should add a message id.

So I told them and they said there is no need, the warning is not default exim behaviour (correct because it's edit #46 in spamblocker) and eixm is functioning fine without it.

So they are only prepared to add a message id, If I can explain why it's necessery or why it shoud be done.

Hence I'm looking for the reason why this was added in spamblocker exim.conf.
This happens on outgoing messages from the forum and I only see this in the log when message is send to Microsoft mail like outlook/hotmail/live. So it might be done to prevent the mail getting in to spam. But that's not hapenning now either on other forums which do not have that exim customization.

So that's why I'm looking for the reason it was done, so I can explain them why it is wise to do so.
 
Thank you Alex:

The uniqueness of the message identifier is guaranteed by the host that generates it
.
But shouldn't I as host be responsible for the generation than instead of the forum software?
 
The suggested RFC does not restrict it. You are free to generate Message-ID in your PHP-application or leave it to a mail server.
 
Oke but so there is no benefit adding it to the php application since this exim already add's this itself when none exists. Or would it benefit delivery at Microsoft accounts when the php application would add it instead of the mailserver?
 
I'm almost sure Microsoft does not care on how you add a Message-Id: whether in Exim or in a PHP-script. The general idea a Message-Id should exist in a mail message, the other is up to a sender and their used software.
 
Oke still I'm having thoughts about this. When reading about Exim and MTA's, one could say that MUA's are responsible for creating the message ID's.
However in this case there is no MUA, and not even php mail() is used, but smtp is used to send the mail.

From what I've read Exim does not thread 127.0.0.1 different and as far as I know, if the MUA does not generate a message-id than Exim should.
But since edit #46 seems to be needed, Exim is not creating a message-id itself.

Why not?
https://www.exim.org/exim-html-current/doc/html/spec_html/ch-message_processing.html
 
Back
Top