Feature request: Make the DMARC check to be enforced regardless of DMARC record existence
- Dominant language
- Go
- Stars
- 6.1k
- Forks
- 327
- PR merge metrics
- No merged PRs in 30d
Description
I would like to propose a feature request for Maddy: the ability to customize behavior of DMARC checking.
Perhaps with this directive example:
```
check.dmarc {
none_action ignore | quarantine | reject
}
```
_none_action_ will override the DMARC check behavior for any sender domain that has no DMARC record, in turn allowing SPF check & DKIM check to verify the incoming email and will do action as configured when neither SPF nor DKIM passed the checks. For now the default value is _ignore_
This would allow us to follow the best practices of email security and deliverability, as recommended by Gmail, Yahoo Mail and other major mail providers ([https://www.valimail.com/blog/the-new-requirements-for-email-delivery-at-gmail/)](https://www.valimail.com/blog/the-new-requirements-for-email-delivery-at-gmail/)).
They have recently made DMARC mandatory (starting in April 2024) which helps prevent spoofing and phishing attacks. By allowing users to opt-in to DMARC checks enforcement, we can increase the trust and reputation of our email service, as well as protect our users from malicious emails.
- [ ] I'm willing to help with the implementation
Contributor guide
Research direction
Start by locating Maddy's DMARC checking and configuration entry points, then trace how missing DMARC records currently affect SPF and DKIM results. Define and test the proposed check.dmarc none_action behavior for ignore, quarantine, and reject; done means the configured action is applied when no DMARC record exists and neither SPF nor DKIM passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100