I don't use the submission port on either server, just port 25, but 5.9
sends a message-id and 6.0 does not. What does "/if necessary/" mean for the
5.9 server? What is the deciding factor to make the header necessary? I
would like the v6.0 server to send a message-id too, how do I make
whatever-it-is necessary on this server? Or was the "if necessary" feature
removed in 6.0 and replaced with "...submit port"?

The change in 6.0 brings smtpd into compliance with the SMTP specification. RFC 5321 section 6.4 contains the following text:

   The following changes to a message being processed MAY be applied
   when necessary by an originating SMTP server, or one used as the
   target of SMTP as an initial posting (message submission) protocol:

   o  Addition of a message-id field when none appears

   o  Addition of a date, time, or time zone when none appears

   o  Correction of addresses to proper FQDN format

   The less information the server has about the client, the less likely
   these changes are to be correct and the more caution and conservatism
   should be applied when considering whether or not to perform fixes
   and how.  These changes MUST NOT be applied by an SMTP server that
   provides an intermediate relay function.

Note the MUST NOT in the final paragraph. When a message is received on port 25, smtpd really has no way of knowing if it is the "originating" server, therefore it can't add the message ID. If it receives the message on port 587 (the submission service), it is - by definition - the originating SMTP server, and is allowed to add the message ID if it's missing.

--lyndon

Reply via email to