No; as far as I can tell, the relevant standards (RFC5322 Internet Message Format and RFC5321 Simple Mail Transfer Protocol) don’t really specify on how BCC and
Message-ID are supposed to work together.
RFC5322 says about
The “Message-ID:” field provides a unique message identifier that refers to a particular version of a particular message. […]
In all cases, it is the meaning that the sender of the message wishes to convey (i.e., whether this is the same message or a different message) that determines whether or not the “Message-ID:” field changes, not any particular syntactic difference that appears (or does not appear) in the message. […]
So if the 3rd party software sends exactly the same message to multiple recipients, I would argue that it is supposed to use the same
Message-ID for these mails. If it sends different messages to different recipients (e.g. because it changes the salutation or something like that), it is supposed to use different
Message-IDs for these mails.
Even though the standard doesn’t explicitly say, I believe that the correct behavior is derivable from the “spirit” of the email standards:
- The standards are clearly influenced by real-life mail concepts in that they differentiate between the envelope and the contents:
- The envelope is represented by the information that is being transmitted via SMTP, outside of the message itself.
- The contents are represendet by the message itself, ie. headers + body.
- In real-life, a blind carbon copy was made by putting a sheet of carbon paper between two sheets of paper, and typing your message on the top paper, and not mentioning the BCC recipient in the message (contrary to CC where you would mention the CC recipient in the message). So to sum it up: BCC produces several identical messages. The different recipients only come into play when putting these identical copies into different envelope, one for each recipient.
- Back in email, this works the same way - you create identical copies (headers + body) of the same message, and the recipients (and therefor BCC) only matter in the envelope (SMTP). And RFC5322 says very clearly that identical messages should have an identical