We are trying to identify where in an SMTP message delivery process the Message-ID from the email header is populated. We are having a situation where the Message-ID is coming up blank. This is causing problems as mail servers that require message-id are dropping these emails flagging them as SPAM.
Here is what we know at the moment.
When we send email to our exchange server first, which then forwards the mail to the Mcafee Ironmail Server, Exchange seems to add a message-id in the header and all works fine.
However, when mail is sent via SQL Database Mail which hands it off to Mcafee Ironmail, the message-id is blank. This leads me to believe that SQL Database Mail is responsible for adding the message-id. When I asked our local SQL expert, he said that SQL does not add any information to the outbound message-id header.
I then opened up a level 3 ticket with Mcafee to ask if Ironmail is responsible for adding the message-id header and they said it does not and can't.
So the facts are that when mail is sent from exchange to ironmail, it adds the exchange message-id info. When we send from SQL to Ironmail, the message-id is blank. So one would think that whatever sends the mail to ironmail is updating the message-id information.
I've not found any useful information definitively identifying where the message-id is populated at. Specifically, I can't find reference to whether SQL Database Mail can or should?
So all of you email experts out there. What's going on.