Update DMARC Status check
Handle edge case for domains where DMARC `p` policy is set to reject or quarantine but `sp` (subdomain policy) is set to none The previous implementation will return dmarcStatus === none when sp is none but will not check for p policy as well. If the `sp` is reject or quarantine, it would supersede the `p` status MAILPOET-4302
This commit is contained in:
committed by
Veljko V
parent
449fde75a7
commit
fcd12b41b5
@@ -51,7 +51,13 @@ class DmarcPolicyChecker {
|
||||
}
|
||||
|
||||
// policy can either be reject or quarantine or none
|
||||
$dmarcStatus = $dmarcInfo['sp'] ?? $dmarcInfo['p'] ?? self::POLICY_NONE;
|
||||
$dmarcStatus = $dmarcInfo['p'] ?? self::POLICY_NONE;
|
||||
// check for subdomain policy
|
||||
$dmarcStatus = (
|
||||
isset($dmarcInfo['sp']) &&
|
||||
($dmarcInfo['sp'] === self::POLICY_QUARANTINE ||
|
||||
$dmarcInfo['sp'] === self::POLICY_REJECT)
|
||||
) ? $dmarcInfo['sp'] : $dmarcStatus;
|
||||
|
||||
return $dmarcStatus;
|
||||
}
|
||||
|
Reference in New Issue
Block a user