This guide is a fix on issues with sending messages to a group wherein it is not received, goes to junk mail or tagged as spam, using Powershell.
For reference- Exchange cmdlet syntax
Problem:
Message sent to a group, but some or all of the recipients in the group are did not received the message. Messages can also be tagged as spam or goes directly to junk folder.
As per Microsoft article, the issue is due to:
"By default, the ReportToManagerEnabled parameter is set to False and the ReportToOriginatorEnabled parameter is set to True when a distribution group is created in Exchange Online. When the parameters are both set to False, the Return-Path field in the header of the message is <> (blank). This means that the remote messaging system will not send delivery reports to the user who sent the message to the distribution group.
Additionally, if spam filtering is enabled on the remote messaging system, the message is dropped, and delivery reports are suppressed. This occurs because some anti-spam devices might flag messages whose Return-Path field is blank and not let the messages be delivered."
Source: External recipients don't get distribution group email - Exchange | Microsoft Docs
Solution:
1. Import the Exchange Online module then connect to Exchange Online via PowerShell.
Ex:
PS C:\WINDOWS\system32> Install-Module -Name ExchangeOnlineManagement
PS C:\WINDOWS\system32> Connect-Exchangeonline
Get-DistributionGroup <email address> | fl
Set-DistributionGroup <email address> -ReportToOriginatorEnabled $true
5. Execute the Get cmdlet again to confirm.
Get-DistributionGroup <email address> | fl
You may proceed to send a message now to test the mail delivery.