The summary:
- email from SES did not arrive at user's corp domain email.
- email from SES arrives at my corp domain email but is hosted at Gmail.
- email from my private Gmail arrives at user's corp domain email.
- email received by receiving MTA with status 250 (AWS rep told me it means email received correctly at the receiving MTA).
- receiving MTA responded by putting the email in queue for delivery, instead of directly delivering the message to the recipient's inbox.
In the app we develop, we use AWS SES to send emails.
From the configurations, the log shows that it has already passed SPF, DKIM, and DMARC. It also already uses TLS (SSL).
The email was sent to the user's corporate domain email, and cc-ed to my own email which is also a corporate domain email but hosted on Gmail.
The email arrived in my inbox, but did not arrive to user's inbox.
After that, I also sent an email from my own Gmail, to the user's corporate domain email, and they received the email.
This eliminates the possibility that the email is bouncing because it's full.
I then reached out to AWS support. They pulled the log dive, and inform me that the email indeed left the SES successfully, and was received by "receiving MTA" (Mail Transfer Agent).
But the log showed that the receiving MTA put the email into "Queued for delivery" status, instead of instantly delivered.
The AWS support informed me that the next step is to check with the receiving MTA, why it's put into the queue, instead of being delivered to the user's inbox. But this isn't possible to do, because we can't possibly ask random corporate so we can inspect their mail service system.
Is there anything I still haven't configured properly here? Why does email from Gmail arrives but not the email from my server?