#!/usr/bin/env perl use strict; use warnings; use List::Util qw{uniq}; use Config::Simple; use File::Copy; my @domains2add = @ARGV; my $dmarc_config_file = "/etc/opendmarc.conf"; my $cfg = Config::Simple->new($dmarc_config_file); die "Can't open opendmarc config file" unless $cfg; $cfg->param('IgnoreAuthenticatedClients', 'true'); $cfg->param('RequiredHeaders', 'true'); $cfg->param('SPFSelfValidate', 'true'); my @authserv = $cfg->param('TrustedAuthservIDs'); push(@authserv, @domains2add); @authserv = uniq @authserv; $cfg->param('TrustedAuthservIDs', \@authserv); File::Copy::copy($dmarc_config_file, "$dmarc_config_file.bak") or die "Could not back up old dmarc config"; $cfg->save(); print "OpenDMARC config file ($dmarc_config_file) changed.\n";