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)[])
npm install --save dmarc-report-parser
yarn add dmarc-report-parser
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);
}
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);
}
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.
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 notnone
failures
: An array of DMARC failures.dkimFailures
: An array of DKIM failures.spfFailures
: An array of SPF failures.reports
: The parsed DMARC reports.
MIT