EXIM not compensating for missing message-id

cPanel & WHM Version
94.0.3

ottdev

Well-Known Member
Oct 1, 2013
139
7
68
cPanel Access Level
Root Administrator
I am not seeing any message-id in emails customer is sending via SMTP connection.
My understanding is that it is default EXIM behavior. I only see some help text re: suppress_local_fixups in exim advanced editor, I cannot locate that directive, so I believe it is not present. What else may cPanel have altered such that message-id is not being added if missing ?

It's important as many of the spam detection mechanisms use it as an indicator.

Chapter 48 - 48. Message processing
12. The Message-ID: header line
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.
 
Last edited by a moderator:

ottdev

Well-Known Member
Oct 1, 2013
139
7
68
cPanel Access Level
Root Administrator
This one came in without a Message-ID: header already. Note that there is no variable between the size S= and subject T=
There is also no evidence of anything resembling the RECOMMENDED FORMAT which resembles an email address.

Code:
/var/log/exim_mainlog:2021-03-22 10:42:40 1lOLlQ-00019Y-As <= [email protected] H=(Desktop-GH7D99J) [142.x.x.x]:54917 P=esmtpsa X=TLS1.2:ECDHE-RSA-AES128-GCM-SHA256:128 CV=no A=dovecot_login:[email protected] S=60153 T="2 Days Left to Register! Upcoming Webinar: Review " for [email protected]

/var/log/exim_mainlog:2021-03-22 10:42:40 1lOLlQ-00019Y-As SMTP connection outbound 1616424160 1lOLlQ-00019Y-As NEWS.OUTBOUND.DOMAIN.TLD [email protected]

/var/log/exim_mainlog:2021-03-22 10:43:04 1lOLlQ-00019Y-As => [email protected] R=dkim_lookuphost T=dkim_remote_smtp H=mx.incoming.mail.SERVER.TLD.com [216.x.x.x] X=TLS1.2:ECDHE-RSA-AES128-GCM-SHA256:128 CV=no C="250 2.0.0 Ok: queued as 89F35E007A5D"
And these are the entries pertaining to a later message after we forced the sending client program to produce a Message-ID: header.
See that in between S= and T= identified as id=

Code:
/var/log/exim_mainlog:2021-03-22 15:33:31 1lOQIs-0009WT-VX <= [email protected] H=(NEWS.OUTBOUND.DOMAIN.TLD) [142.x.x.x]:50249 P=esmtpsa X=TLS1.2:ECDHE-RSA-AES128-GCM-SHA256:128 CV=no A=dovecot_login:[email protected] S=60185 [email protected] T="2 Days Left to Register! Upcoming Webinar: Review " for [email protected]

/var/log/exim_mainlog:2021-03-22 15:33:31 1lOQIs-0009WT-VX SMTP connection outbound 1616441611 1lOQIs-0009WT-VX NEWS.OUTBOUND.DOMAIN.TLD [email protected]

/var/log/exim_mainlog:2021-03-22 15:33:50 1lOQIs-0009WT-VX => [email protected] R=dkim_lookuphost T=dkim_remote_smtp H=mx.incoming.mail.SERVER.TLD.com [216.x.x.x] X=TLS1.2:ECDHE-RSA-AES128-GCM-SHA256:128 CV=no C="250 2.0.0 Ok: queued as 758BB3F0"
In both cases, there is certainly the internal ID that is consistent in the triplet of log entries and is used as the file names while a message is in queue. But this internal ID
1) doesn't match the recommended format Message-ID: (with @ such that it resembles an email address)
2) is NOT used to construct a distinct line "^Message-ID: [email protected]$" made visible in headers in the case the message didn't already have one.

If such line is missing in the copy that SMTP server hands to the recipient's mail server, it;s scoring negatively with some spam detection mechanisms on some of the recipient mail servers.
 
Last edited:

cPRex

Jurassic Moderator
Staff member
Oct 19, 2014
14,399
2,255
363
cPanel Access Level
Root Administrator
Thanks for the details - I talked to some of my colleagues about this issue and we're not entirely sure what the problem is that you're running into from that description. Can you provide us with an example of a working message ID from a cPanel server that is formatted how you expect?
 

cPRex

Jurassic Moderator
Staff member
Oct 19, 2014
14,399
2,255
363
cPanel Access Level
Root Administrator
Are you referring to this entry in the Exim configuration:

Code:
log_selector = +incoming_port +smtp_connection +all_parents +retry_defer +subject +arguments +received_recipients
We don't include the "msg_id" value by default on cPanel systems, although you're welcome to customize this value and add it if that's what you're looking for.