forwardemail / forwardemail/forwardemail.net

[feat] Per-domain “trusted forwarder” DMARC override for inbound mail relayed via an upstream security gateway

Open
#561 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
JavaScript
Stars
1.7k
Forks
203
PR merge metrics
No merged PRs in 30d

Description

Add an optional, per-domain trusted-forwarder override applied at the DMARC disposition stage. First, you could define a trusted-forwarder list (IP/CIDR or reverse-DNS suffix such as gateway.example) per domain, configurable via dashboard and API and off by default. Second, at the point where a reject/quarantine would be applied, if the message fails DMARC but the connecting client matches a trusted forwarder for the recipient domain — matched strictly on iprev=pass (forward-confirmed reverse DNS), never HELO or envelope-from — override the disposition to deliver. Third, scope it narrowly: apply only when the failure is consistent with forwarding (SPF fail on the forwarder IP and/or a DKIM body-hash fail), not a blanket accept from that IP, and stamp the decision into Authentication-Results (override-reason=trusted_forwarder) for auditability.

Contributor guide

Open the contributing guide

Research direction

Start by locating the existing DMARC disposition stage and the domain settings paths used by the dashboard and API. Trace how Authentication-Results is produced and how inbound forwarding failures are classified. Done means an off-by-default per-domain override supports the specified matches and narrow failure conditions, records the override reason, and has coverage for the resulting disposition.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, authentication, backend, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.