In my lab last week, I decommissioned AD FS and DirSync to bring Exchange back on-premise after a brief period of co-existence. The only federated user I had for this environment was no longer able to receive mail in to the on-premise mailbox–however I could send as that user. The inbound SMTP logs all showed the communication but no successful completion of the connection.
I confirmed the TargetAddress attribute was no longer pointing to the onmicrosoft.com address.
The NDR message received looked like this…
Delivery has failed to these recipients or distribution lists: User A problem occurred during the delivery of this message. Microsoft Exchange will not try to redeliver this message for you. Please try resending this message later, or provide the following diagnostic text to your system administrator. Diagnostic information for administrators: Generating server: exchangeserver.domainname.local firstname.lastname@example.org #< #5.4.6> #SMTP#
The local administrator account also has a mailbox and is able to receive external messages without an issue. And when I checked this mailbox found NDR messages similar to those just below. Luckily, I set up the administrator mailbox as the postmaster to be able to see this information…
The following recipient(s) cannot be reached: User on 5/13/2013 11:09 AM A configuration error in the e-mail system caused the message to bounce between two servers or to be forwarded between two recipients. Contact your administrator. <exchangeserver.domainname.local #5.4.6>
I was able to use the information above to trigger a thought, “Eventhough I removed the reference to onmicrosoft.com, maybe the TargetAddress attribute is still not correct”.
That is when I noticed my mistake, I changed to email@example.com to firstname.lastname@example.org and this is the reason the mailbox would not receive emails–from external and internal senders. The TargetAddress attribute must be cleared if you want mail to flow properly into an on-premise mailbox. Any value that is set in this field will attempt to send the message out of the environment even when that email address is local to the environment. Once the TargetAddress attribute was cleared to <Not Set>, mail flow resumed.