You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DNSHealth: bump to 1.1.2 and update providers/logic
Bump DNSHealth module to 1.1.2 and migrate MailProviders into the new version folder. Replace $PSScriptRoot usages with the module base ($MyInvocation.MyCommand.Module.ModuleBase) for MailProviders file access. Add DMARC-aware handling for SPF soft-fail (~all) in Read-SpfRecord (accept when DMARC p=reject at 100%, otherwise recommend -all). Remove Quad9 DNS-over-HTTPS resolver support from Resolve-DnsHttpsQuery and Set-DnsResolver. Update Microsoft365 MX pattern to include mail.eo.outlook.com. Rename and update Barracuda provider JSON (new name/links). Refresh PSGetModuleInfo metadata to reflect version, dates and file list.
$ValidationPasses.Add('The SPF record ends with a hard fail qualifier (-all). This is best practice and will instruct recipients to discard unauthorized senders.') |Out-Null
if ($DmarcPolicy.Policy-eq'reject'-and ($DmarcPolicy.Percent-eq100-or$null-eq$DmarcPolicy.Percent)) {
1783
+
$DmarcRejectPolicy=$true
1784
+
}
1785
+
} catch {
1786
+
Write-Verbose"Unable to read DMARC policy: $($_.Exception.Message)"
1787
+
}
1788
+
1789
+
if ($DmarcRejectPolicy) {
1790
+
$ValidationPasses.Add('The SPF record ends with a soft fail qualifier (~all). With DMARC p=reject at 100%, this is acceptable as DMARC will enforce rejection.') |Out-Null
1791
+
} else {
1792
+
$ValidationFails.Add('The SPF record should end in -all to prevent spamming.') |Out-Null
1793
+
$Recommendations.Add([PSCustomObject]@{
1794
+
Message="Replace '~all' with '-all' to make a SPF failure result in a hard fail."
1795
+
Match='~all'
1796
+
Replace='-all'
1797
+
}) |Out-Null
1798
+
}
1799
+
}
1800
+
1777
1801
elseif ($Record-ne'') {
1778
1802
$ValidationFails.Add('The SPF record should end in -all to prevent spamming.') |Out-Null
0 commit comments