Nomenclature Predictably Misunderstood

    python-spfcheck2

    1.0.3 • Public • Published

    python-spfcheck2

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

    Node.js wrapper around Python's spf.check2 function which conforms to both RFC4408 and RFC7208

    Table of Contents

    Requirements

    1. Ensure that you have a Python version of >= 3.5 installed per pyspf requirements (note that Python v3 is required because of a bug with DNS recursive CNAME lookups on v2.7):

      python3 --version
    2. Install the packages pyspf and dnspython:

      pip3 install pyspf
      pip3 install dnspython

    Install

    npm:

    npm install python-spfcheck2

    yarn:

    yarn add python-spfcheck2

    Usage

    const spfCheck2 = require('python-spfcheck2');
     
    const ip = '69.55.226.139';
    const address = 'terry@wayforward.net';
    const host = 'mx1.wayforward.net';
     
    // then/catch usage
    spfCheck2(ip, address, host)
      .then([result, explanation] => console.log(result, explanation))
      .catch(console.error);
     
    // async/await usage
    (async () => {
      try {
        const [ result, explanation ] = await spfCheck2(ip, address, host);
        console.log(result, explanation);
      } catch (err) {
        console.error(err);
      }
    })();

    Note that result is a String (which also corresponds to a particular explanation), see table below for the full list:

    Result Explanation
    pass sender SPF authorized
    fail SPF fail - not authorized
    neutral permanent error in processing
    softfail domain owner discourages use of this host
    permerror permanent error in processing
    temperror temporary DNS error in processing
    none
    local No SPF result due to local policy
    trusted No SPF check - trusted-forwarder.org
    ambiguous No error, but results may vary

    An error is thrown if the child process itself (spf.check2) errors.

    Contributors

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

    License

    MIT © Nick Baugh

    Install

    npm i python-spfcheck2

    DownloadsWeekly Downloads

    19

    Version

    1.0.3

    License

    MIT

    Unpacked Size

    9.65 kB

    Total Files

    12

    Last publish

    Collaborators

    • avatar