Have ideas to improve npm?Join in the discussion! »

    authheaders

    2.0.2 • Public • Published

    authheaders

    build status code coverage code style styled with prettier made with lass license npm downloads

    Node.js wrapper around the Python pip package authheaders exposing a function to generate Authentication-Results headers

    Table of Contents

    Requirements

    1. Ensure that you have a Python version of >= 3.6 installed.

      python3 --version
    2. Install the package authheaders from our fork which contains a fix (until https://github.com/ValiMail/authentication-headers/pull/6 is merged and released):

      pip3 install git+https://github.com/forwardemail/authentication-headers.git
    3. Install dnspython v1.16.0:

      pip3 install dnspython==1.16.0
    4. Install pyspf:

      pip3 install pyspf

    Install

    npm:

    npm install authheaders

    yarn:

    yarn add authheaders

    Usage

    authenticateMessage

    const fs = require('fs');
     
    const { authenticateMessage } = require('authheaders');
     
    const message = fs.readFileSync('/path/to/example.eml');
    const authservId = 'mx.example.com';
    const ip = '1.2.3.4';
    const mailFrom = 'example.net';
    const helo = 'domain.of.sender.example.net';
     
    // then/catch usage
    authenticateMessage(message, authservId, ip, mailFrom, helo)
      .then(console.log)
      .catch(console.error);
     
    // async/await usage
    (async () => {
      try {
        const result = await authenticateMessage(message, authservId, ip, mailFrom, helo);
        console.log(result);
      } catch (err) {
        console.error(err);
      }
    })();

    The value of result is an Object with properties header (String), and Objects for spf, dkim, arc, and dmarc.

    These Objects contain a result (String) and conditionally a reason (String) value.

    An example result object is provided below:

    {
      header: 'example.com; spf=none smtp.helo=domain.of.sender.net smtp.mailfrom=test.com; dkim=pass header.d=forwardemail.net; arc=pass; dmarc=fail (Used From Domain Record) header.from=gmail.com policy.dmarc=none',
      spf: { result: 'none' },
      dkim: { result: 'pass' },
      arc: { result: 'pass' },
      dmarc: { policy: 'none', result: 'fail', reason: 'Used From Domain Record' }
    }

    Contributors

    Name Website
    Nick Baugh http://niftylettuce.com/

    License

    MIT © Nick Baugh

    Install

    npm i authheaders

    DownloadsWeekly Downloads

    8

    Version

    2.0.2

    License

    MIT

    Unpacked Size

    25.6 kB

    Total Files

    23

    Last publish

    Collaborators

    • avatar