foxcpp / foxcpp/maddy

Feature request: Make the DMARC check to be enforced regardless of DMARC record existence

Open
#685 0 comments 0 reactions 0 assignees View on GitHub
new feature
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.