Missing Message-Id: header, Where do I put "control = submission"

Mike Keller

Apr 3, 2019
Castro Valley, CA
cPanel Access Level
Root Administrator
Hello all,

I am having a hell of a time trying to figure out which ACL to actually put:
warn  hosts =
     control = submission
using the EXIM Advanced Editor.

I have read Chapter 47 of the EXIM manual a billion times and have tried inserting in different places but after testing my outgoing emails using mail-tester.com, I continue to get:

"-0.14 MISSING_MID Missing Message-Id: header"

Does anyone here have any familiarity with this or have successfully got this working before? Any help is greatly appreciated. I am simply trying to be a good sender.

Thank you in advance.

Mike Keller

Exim Reference links

47. Message processing
43. Access control lists

"control = submission/<options>

This control is permitted only for the MAIL, RCPT, and start of data ACLs (the latter is the one defined by acl_smtp_predata). Setting it tells Exim that the current message is a submission from a local MUA. In this case, Exim operates in “submission mode”, and applies certain fixups to the message if necessary. For example, it adds a Date: header line if one is not present. This control is not permitted in the acl_smtp_data ACL, because that is too late (the message has already been created).

Chapter 47 describes the processing that Exim applies to messages. Section 47.1 covers the processing that happens in submission mode; the available options for this control are described there. The control applies only to the current message, not to any subsequent ones that may be received in the same SMTP connection."


Staff member
Apr 11, 2011
Hello @Mike Keller,

Per ticket number 11849263, it looks like you were able to address this issue by adding the following entry to the custom_begin_mail_pre Exim ACL:

accept  hosts = :

  warn hosts =
        control = submission/sender_retain
Let us know if you have any additional questions.

Thank you.