JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 278
  • Score
    100M100P100Q91498F
  • License ISC

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

Package Exports

  • dmarc-solution
  • dmarc-solution/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (dmarc-solution) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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);
});