mongle_dmarc_config 786 B

123456789101112131415161718192021222324252627282930
  1. #!/usr/bin/env perl
  2. use strict;
  3. use warnings;
  4. use List::Util qw{uniq};
  5. use Config::Simple;
  6. use File::Copy;
  7. my @domains2add = @ARGV;
  8. my $dmarc_config_file = "/etc/opendmarc.conf";
  9. my $cfg = Config::Simple->new($dmarc_config_file);
  10. die "Can't open opendmarc config file" unless $cfg;
  11. $cfg->param('IgnoreAuthenticatedClients', 'true');
  12. $cfg->param('RequiredHeaders', 'true');
  13. $cfg->param('SPFSelfValidate', 'true');
  14. my @authserv = $cfg->param('TrustedAuthservIDs');
  15. push(@authserv, @domains2add);
  16. @authserv = uniq @authserv;
  17. $cfg->param('TrustedAuthservIDs', \@authserv);
  18. File::Copy::copy($dmarc_config_file, "$dmarc_config_file.bak") or die "Could not back up old dmarc config";
  19. $cfg->save();
  20. print "OpenDMARC config file ($dmarc_config_file) changed.\n";