1.2.5 • Published 2 years ago

dmarc-solution v1.2.5

Weekly downloads
4
License
ISC
Repository
github
Last release
2 years ago

dmarc-solution

One stop solution for all DMARC Problems. This package includes fetching of dmarc record, parsing the provided/fetched record, validation of DMARC record, generating a new DMARC record

Install

npm install --save dmarc-solution

Usage

DMARC Generator

const dmarc = require('dmarc-solution');

// Generator
var generateInputs = {
  v: 'DMARC1', // only required tag
  p: 'quarantine', //must be one of: none, quarantine, reject
  rua: ['dmarc@example.com'], //array of emails for aggregate reports
  ruf: ['dmarc@example.com'], //array of emails for forensic reports
  fo: ['0', '1', 'd'], //array of selected options from: 0, 1, d, s
  pct: 75, //integer value from 0 to 100
  rf: 'afrf', //must be one or more of these string values: afrf, iodef
  ri: 1, //must be an unsigned integer
  sp: 'none', //must be one of: none, quarantine, reject
  aspf: 'r', //must be one of "r" or "s"
  adkim: 's', //must be one of "r" or "s"
}

dmarc.generate(generateInputs)
.then(record => {
  console.log(record); //v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; ruf=mailto:dmarc@example.com; fo=0:1:d; pct=75; rf=afrf; ri=1; sp=none; aspf=r; adkim=s
})
.catch(err => {
  console.log(err);
});

DMARC Fetcher

const dmarc = require('dmarc-solution');

// Fetcher from DNS
dmarc.fetch('github.com')
.then(record => {
  console.log(record);
})
.catch(err => {
  console.log(err);
});

DMARC Parser

const dmarc = require('dmarc-solution');

// DMARC Record parser
dmarc.parse('v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com;')
.then(record => {
  console.log(record); //{"v":{"description":"The v tag is required and represents the protocol version. An example is v=DMARC1","value":"DMARC1"},"p":{"description":"The required p tag demonstrates the policy for domain...","value":"quarantine"},"rua":{"description":"This optional tag is designed for reporting URI(s) for aggregate data...","value":"mailto:dmarc@example.com"}}
})
.catch(err => {
  console.log(err);
});