dmarc_httpd - a web server for DMARC validation and report viewing


version 1.20190831


A HTTP interface for:

  • local DMARC reports

  • DMARC validator service

Start the HTTP server:


Connect with a web browser to http://localhost:8080.


The HTTP server handles 4 types of requests:

  • /

    Serves files stored in the perl share directory of the Mail::DMARC module. This presently entails one HTML file and a handful of CSS and JS files for the report viewing feature.

  • /dmarc/json/validate - DMARC validation requests

    Accepts a JSON encoded HTTP POST request. Validates the request, performs a DMARC validation and returns a JSON encoded result object. This is the API for non-perl applications to utilize Mail::DMARC.

    See the dmarc_http_client app for a usage example.

  • /dmarc/json/report

    Accepts AJAX requests from the browser and returns JSON encoded DMARC reports.

  • /dmarc/json/row

    Accepts AJAX requests from the browser and returns JSON encoded DMARC report rows.

An implementation that uses the http validation service is the included <dmarc_http_client> and another is the dmarc plugin in the <Haraka mail server|>.

A Sample Report is available which shows the web interface. It is implemented almost entirely in JavaScript, using jQuery, jQueryUI, and jqGrid.

Web server settings are in the [http] and [https] sections of mail-dmarc.ini.


jQuery -

jqGrid -


  • Matt Simerson <>

  • Davide Migliavacca <>


This software is copyright (c) 2018 by Matt Simerson.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.