We receive 12 emails daily from a vendor that supply data for management required reports. We originally set up a Gmail account to receive these messages which are processed by a CRON job. We discovered early on that the messages were never recorded as received by the email client, so we had them sent to another account and then auto-forwarded.
This worked fine for a lot of months, then suddenly, a few months ago, messages that were auto-forwarded were randomly being rejected (the number of messages rejected has increased, but occasionally one or two still get through.) Interestingly, when we forward the messages manually, they go through just fine.
Since we owned the account that was doing the auto-forwarding, we received the bounce backs. The bounce message from mailer-daemon@googlemail.com was comprised of a graphic of a stop light with the red light lit, and the text:
Your message to destination_email@gmail.com has been blocked. See technical details below for more information.
Below that is the technical details:
The response was:<br />550 5.7.1 [209.85.220.41] Messages missing a valid messageId header are not accepted. s198-20020a632ccf000000b0042a2fdfda1csor3403081pgs.60 - gsmtp
When we look at the header of the original message received from the data vendor we see this is the message ID:
<6302575f.810a0220.ceb0b.5763SMTPIN_ADDED_MISSING@mx.google.com>
When we forward the message manually (which are always received), a complete message ID is included in the forwarded message.
We asked the vendor to either update their SMTP server to include a message ID, or programatically
add a generated message ID (e.g., using a library such as Python has) so that their messages were compliant with the RFC, and were told that for security reasons they cannot do that. So we are on our own.
Please note that we cannot just put a rule into the receiving Gmail account telling it to accept these messages, they are never received by the client, they are being blocked at Google.
Is there a way to tell the Gmail servers for this account to ignore the message ID? Or is there another way we can work around this?