Overview:
We have a demo environment where we have installed Exchange 2019. The Exchange 2019 server is set up in Classic Hybrid mode with centralised mail transport enabled. Inbound emails are successfully flowing through Office 365 to our on-premise Exchange mailboxes. However, outbound messages (sent from on an on-premise mailbox) is not received by external recipients.
Steps to reproduce:
- An external user sends an email to [email protected] (i.e. EOP mailbox).
- Mia replies to the email.
- The external recipient never receives the email.
Troubleshooting done so far:
- In OWA there is no indication that the email was not sent, or will not be delivered. The outbound email is sitting in the Sent folder.
- Within EXO Exchange Admin Center Mail Trace reports do not show any outbound messages leaving Mia's mailbox.
Question(s):
- Exchange hybrid was configured by following this YouTube video thread. Are there any steps the trainer has missed?
- Where can I go to begin troubleshooting why the outbound email from EOP is not sending?
@joeqwerty put me on the right track.
Firstly, it is certainly possible to do what I wanted. Centralised Mail Transport (CMT) allows you to route incoming and outgoing emails through Office 365, it's just that enabling that feature in the Hybrid Exchange wizard isn't enough.
To get inbound emails to route through Office 365, just add the EXO-related MX records to DNS, and make the EXO MX records a higher priority. As for outbound emails, you need to create an additional Send Connector that uses EXO as a "Smart Host" (click here) for more details.
Once both are configured, you can use the EXO Message trace feature to search inbound and outbound emails whether they be from Exchange Online (EXO) or Exchange On-premise (EOP) mailboxes. Doesn't matter.
NB You may need a static IP address to get this to work correctly. That is, if you're using Hybrid Classic mode.
I hope this helps someone else.
The "Outbound to Office 365" send connector is valid for on premises mailboxes sending email to EOL mailboxes (or groups) that have a YourVerifiedDomain.mail.onmicrosoft.com remote routing address. It isn't for sending email to external recipients. If you look at the address space this connector is responsible for (under scoping in the connector properties) you'll see that it's only valid for the YourVerifiedDomain.mail.onmicrosoft.com address space.
Your on premises Exchange server needs an "internet" send connector for sending outbound email to external recipients.
Please note that Centralized Mail Transport's purpose is the exact opposite of what you want: it means everything will be routed through your on-premises Exchange, including messages that come from and go to Exchange Online.
If you instead want everything to be routed through Exchange Online, you need first and foremost to disable Centralized Mail Transport.
In both cases, you will need to create an additional Send Connector on your on-premises Exchange to handle Internet messages delivering; the existing connector only handles messages directed to your Exchange Online hybrid environment.
This will provide some guidance: https://docs.microsoft.com/en-us/exchange/transport-routing