0.1.5 • Published 3 months ago

dmarc-report-parser v0.1.5

Weekly downloads
-
License
MIT
Repository
-
Last release
3 months ago

DMARC Report Parser

This module provides a set of functions to parse DMARC reports contained within email attachments, as well as directly from XML strings or Buffers. The main functions are:

  • parseDmarcReportFromEmail(rawEmail: string)
  • parseDmarcReportsFromXml(xmlFiles: (string | Buffer)[])

Installation

npm install --save dmarc-report-parser
yarn add dmarc-report-parser

Usage

Parsing DMARC reports from an email

import { parseDmarcReportFromEmail } from "dmarc-report-parser";

const rawEmail = "..."; // The raw email source

try {
  const result = await parseDmarcReportFromEmail(rawEmail);
  console.log(result);
} catch (error) {
  console.error("Failed to parse DMARC report:", error.message);
}

Parsing DMARC reports from XML files

import { parseDmarcReportsFromXml } from "dmarc-report-parser";

const xmlFiles = ["..."]; // An array of XML strings or Buffers

try {
  const result = await parseDmarcReportsFromXml(xmlFiles);
  console.log(result);
} catch (error) {
  console.error("Failed to parse DMARC report:", error.message);
}

API

parseDmarcReportFromEmail(rawEmail: string)

Parses a DMARC report from a raw email message. The DMARC report can be contained in a .zip, .gz or .xml attachment.

  • rawEmail: The raw email string.

Returns a Promise that resolves with the parsed DMARC report, or rejects with an error if the email does not contain a DMARC report.

parseDmarcReportsFromXml(xmlFiles: (string | Buffer)[])

Parses DMARC reports from an array of XML strings or Buffers.

  • xmlFiles: An array of XML strings or Buffers.

Returns a Promise that resolves with an object containing the parsed DMARC reports and additional information, or rejects with an error if the XML is not valid or does not match the DMARC schema.

The returned object contains the following properties:

  • totalReports: The total number of DMARC reports parsed.
  • totalFailures: The total number of DMARC failures where disposition is not none
  • failures: An array of DMARC failures.
  • dkimFailures: An array of DKIM failures.
  • spfFailures: An array of SPF failures.
  • reports: The parsed DMARC reports.

License

MIT

0.1.5

3 months ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago