OpenDMARC failing to start with an “unrecognized parameter” error is usually caused by unsupported config directives. Here’s how to fix it and properly integrate DMARC with Postfix.
Table of Contents
One of my VPS clients recently tried to secure their mail server by adding DMARC enforcement. Everything looked fine — SPF and DKIM were already working — but the moment OpenDMARC was installed, the service refused to start.
The error wasn’t very helpful at first glance:
opendmarc.service: Failed with result 'exit-code'
This is a common issue on Ubuntu-based mail servers using Postfix, especially when mixing configs from different guides or versions.
If you’re running your own mail server (Postfix, OpenDKIM, SpamAssassin), this is a typical issue under Email & SMTP Issues.
Problem Summary
Here’s what we observed:
- OpenDMARC service fails to start
- systemctl status opendmarc shows exit code 78
- Logs show:
configuration error at line X: unrecognized parameter
- Postfix already had OpenDKIM configured via:
smtpd_milters = inet:localhost:8891
At this point, it’s clear the issue is not installation — it’s configuration incompatibility.
So instead of reinstalling or guessing, we followed a structured debugging approach.
Check the exact error from logs
First, always confirm the failure reason:
journalctl -xeu opendmarc.service
In this case, we saw:
configuration error at line 115: unrecognized parameter
This tells us the service is failing due to a bad config line — not permissions or missing dependencies.
Jump directly to the problematic line
Instead of scanning the whole file:
nano +115 /etc/opendmarc.conf
This opens the exact line causing the issue.
We found:
OversignHeaders From
Remove unsupported directives
This line is not supported in many Ubuntu OpenDMARC builds.
It’s often confused with OpenDKIM settings.
Fix:
# OversignHeaders From
Save and exit.
Why this works: OpenDMARC is strict — even one invalid directive prevents the service from starting.
Restart OpenDMARC
systemctl restart opendmarc
Then verify:
systemctl status opendmarc
Expected:
Active: active (running)
Now the service should start cleanly. And you will be able to integrate DMARC with Postfix.
Common Mistakes / Edge Cases
- Using OpenDKIM directives in OpenDMARC config
- Replacing milters instead of chaining them
- Assuming DMARC automatically blocks emails
- Enabling strict rejection without considering forwarding
Need Help Fixing Your VPS?
If you’re stuck with server issues and need a reliable fix, I troubleshoot real VPS problems daily — from Nginx errors and SMTP failures to DNS and performance issues.
Instead of guessing, get a proven fix based on real experience.
- Fix Nginx, Apache, and 502/504 errors
- Resolve SMTP, email, and SES issues
- Debug DNS, SSL, and domain problems
- Optimize performance (CPU, RAM, slow sites)
Conclusion
The issue wasn’t with OpenDMARC itself — it was caused by an unsupported config directive copied from another guide. Once we removed the invalid parameter and properly chained OpenDKIM and OpenDMARC, everything worked as expected.
If you’re running your own mail server, these small details make a big difference between a fragile setup and a production-ready one.



