Fix OpenDMARC Service Failed

(Unrecognized Parameter Error on Ubuntu)

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:

				
					configuration error at line X: unrecognized parameter
				
			
				
					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

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.

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.

Tharindu

Hey!! I'm Tharindu. I'm from Sri Lanka. I'm a part time freelancer and this is my blog where I write about everything I think might be useful to readers. If you read a tutorial here and want to hire me, contact me here.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button