opendmarc-reports(8)
๐ opendmarc-reports(8) โ the OpenDMARC aggregate report girlie ๐
okay bestie, welcome to the opendmarc-reports page, straight outta the System Manager's Manual โจ this is the tool that pulls your DMARC data out of the database and turns it into aggregate reports that actually go places. it's giving backstage-pass energy. let's get into it ๐
โจ NAME โจ
opendmarc-reports โ the OpenDMARC aggregate report generation tool ๐ฆ
๐ธ SYNOPSIS ๐ธ
opendmarc-reports [options]
that's it. that's the whole vibe. you hand it some options and it does the thing ๐
๐ DESCRIPTION ๐
so, opendmarc-reports reaches into an OpenDMARC database and generates periodic aggregate reports from what it finds. no cap.
and where does that data come from? bestie, the database gets populated by a running opendmarc-import(8) working on a message history file โ and that file is generated by an opendmarc(8) filter as messages arrive and get processed. it's a whole pipeline, and honestly? iconic. ๐
this also covers the collection of reporting URIs, which this script uses to make reports available to the people who request them. so it's not just generating โ it's delivering. main character behavior fr fr ๐
๐ OPTIONS ๐
--dayโ generates reports on day boundaries. this one overrides whatever--intervalis set to (more on that below). periodt.--dbhost=hostnameโ tells it which hostname the SQL server is running on. defaults to the value of the environment variableOPENDMARC_DBHOST, or"localhost"if that env var isn't set. ๐--dbname=nameโ the SQL database name you want accessed. defaults to the environment variableOPENDMARC_DB, or"opendmarc"if it's not set. ๐๏ธ--dbpasswd=passwordโ the password for the SQL database. defaults to the environment variableOPENDMARC_PASSWORD, or"opendmarc"if that's not set. ๐ (yes bestie, keep it secret, keep it safe)--dbport=portโ which TCP port the SQL server is expected to be listening on. defaults to the environment variableOPENDMARC_PORT, or3306if it's not set. ๐--dbuser=userโ the SQL user used to access the database. defaults to the environment variableOPENDMARC_USER, or"opendmarc"if it's not set. ๐--domain=nameโ generates a report (if one is due) for the named domain, instead of checking all of them. one domain only, no scrolling. ๐ฏ--helpโ prints a help message and terminates. your lil emergency exit ๐ช--interval=secsโ only generates reports for hosts that haven't had a report generated in at least the last secs seconds. patience is a virtue or whatever โณ--nodomain=nameโ skips generating a report for the named domain. you can specify this multiple times to skip multiple reporting domains. the block list era ๐--noupdateโ suppresses marking the time of the transmission of the report in the database. normally that marking would happen, specifically to prevent reports from being sent too close together. so like, don't do this unless you know why. ๐--report-email=addrโ generates reports using the specified address, which gets used both in the report content and in the SMTP transaction. the default is"postmaster@HOSTNAME", whereHOSTNAMEis replaced by the hostname of the host generating the report. ๐ง--report-org=domainโ generates reports using the specified domain name as the organization responsible for the report. this is used to create the archive filename and it's included in the report content too. default is the hostname of the host generating the report. ๐ท๏ธ--smtp-host=hostโ makes reports get sent by transmitting them via SMTP to the named host, which can be an IP address or a hostname. default is"127.0.0.1". ๐ฎ--smtp-port=portโ makes reports get sent by transmitting them via SMTP to the specified port. default is25. ๐ข--utcโ instructs the database to switch to the UTC timezone when generating output. otherwise, the database default gets used. ๐--verboseโ increases the amount of verbosity written to standard output. chatty era ๐ฃ๏ธ--versionโ prints the version number and exits. ๐ซถ
โญ VERSION โญ
this man page covers the version of opendmarc-reports that shipped with version 1.4.2 of OpenDMARC. so if you're on something else, vibe check accordingly ๐ซ
๐ COPYRIGHT ๐
Copyright (c) 2012, 2014, 2015, The Trusted Domain Project. All rights reserved.
๐ฆ SEE ALSO ๐ฆ
okay that's the whole page bestie, you ate it up ๐ this one comes to you from The Trusted Domain Project, and it's the opendmarc-reports(8) page itself โ go forth and generate those reports, you've got this ๐โจ๐ธ
๐ฆ where this page comes from
- alpine 3.24: opendmarc-doc 1.4.2-r3 ยท BSD-3-Clause Sendmail
- arch rolling: opendmarc 1.4.2-6 ยท custom
- debian bookworm: opendmarc 1.4.2-2+b1 ยท BSD-3-Clause AND SOSL
- debian trixie: opendmarc 1.4.2-5 ยท BSD-3-Clause AND SOSL
- epel 10: opendmarc-tools 1.4.2-33.el10_2 ยท BSD-3-Clause AND Sendmail-Open-Source-1.1
- epel 9: opendmarc-tools 1.4.2-33.el9 ยท BSD-3-Clause AND Sendmail-Open-Source-1.1
- fedora 43: opendmarc-tools 1.4.2-32.fc43 ยท BSD-3-Clause AND Sendmail-Open-Source-1.1
- fedora 43: opendmarc-tools 1.4.2-33.fc43 ยท BSD-3-Clause AND Sendmail-Open-Source-1.1
- fedora 44: opendmarc-tools 1.4.2-34.fc44 ยท BSD-3-Clause AND Sendmail-Open-Source-1.1
- nixos 26.05: opendmarc 1.4.2
- nixpkgs unstable: opendmarc 1.4.2
- ubuntu jammy: opendmarc 1.4.2-1 ยท BSD-3-Clause AND SOSL
- ubuntu noble: opendmarc 1.4.2-4.1build2 ยท BSD-3-Clause AND SOSL
- ubuntu questing: opendmarc 1.4.2-5.1
- ubuntu resolute: opendmarc 1.4.2-5.1build1 ยท BSD-3-Clause AND SOSL
- ubuntu stonking: opendmarc 1.4.2-5.1build1 ยท BSD-3-Clause AND SOSL
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms