
Introduction
It is crucial to look for bounce messages originating from office 365. Specially when you are adding a domain to Office 365, which was in G-Suite or any other system.
There are high chances that some errors will occur and bounces would be generated.
Scenario :
- Added domain learntechfuture.com into Office 365.
- MX Record of the domain isn’t pointing to learntechfuture-com.mail.protection.outlook.com
- Tenant Default Domain is LABTestSJ.onmicrosoft.com
- Accidenetly forgot to allow distribution group EOPTestingGroup@cvent.com to receive email from internet.
Where to look for delivery failures ?
- Message Tracking
Get-MessageTrace -SenderAddress postmaster@LabTestSJ.onmicrosoft.com
Get-MessageTrace -SenderAddress postmaster@<tenantname>.onmicrosoft.com
- Quarantine Page under Compliance Center.
https://protection.office.com/mailflow/dashboard
- Have a script to look for email from last one hour from postmaster@LabTestSJ.onmicrosoft.com and then perform a reverse query and perform quick search in the same time frame.
- I wrote below script quickly, I will improvise this and post this again but for now, it should do your job.
# First connect to Exchange Online and then run this script $StartDDBounce = (get-date).addhours(-6) $EndDDBounce = get-date # Find All messages sent by postmaster in last 6 hours containing Undeliverable in Subject # FYI Get-MessageTrace can return message data for the last 10 days. Max 1000000 result can be returned $Bounce = Get-MessageTrace -SenderAddress postmaster@LABTestSJ.onmicrosoft.com -StartDate $StartDDBounce -EndDate $EndDDBounce | where {$_.Subject -like "Undeliverable*"}| select Received, Subject $result = @() foreach ($EachBounce in $Bounce) { [datetime]$EndDT = $EachBounce.Received [datetime]$StartDT = ($EachBounce.Received).addminutes(-10) $OriginalMsg = $EachBounce.subject -replace "Undeliverable: " # Look for Failed Message Only $result += Get-MessageTrace -StartDate $StartDT -EndDate $EndDT -Status Failed | where {$_.Subject -like $OriginalMsg} | select Received, SenderAddress, RecipientAddress, Subject, MessageId, Status, MessageTraceId } $result | Export-Csv $Home\Desktop\Bounces.csv -NoTypeInformation
Thank you for reading and Please suggest improvement.