checkdmarc


Namecheckdmarc JSON
Version 5.12.25 PyPI version JSON
download
home_pageNone
SummaryA Python module and command line parser for SPF and DMARC records
upload_time2025-10-30 12:37:38
maintainerNone
docs_urlNone
authorNone
requires_pythonNone
licenseNone
keywords bimi dmarc dns mta-sts spf
VCS
bugtrack_url
requirements dnspython cryptography pem expiringdict pyleri publicsuffixlist requests xmltodict importlib-resources timeout-decorator flake8 sphinx myst-parser myst-parser sphinx_rtd_theme wheel codecov autopep8 hatch pytest ruff black
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # checkdmarc

[![Python tests](https://github.com/domainaware/checkdmarc/actions/workflows/python-tests.yaml/badge.svg)](https://github.com/domainaware/checkdmarc/actions/workflows/python-tests.yaml)
[![PyPI](https://img.shields.io/pypi/v/checkdmarc)](https://pypi.org/project/checkdmarc/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/checkdmarc?color=blue)](https://pypistats.org/packages/checkdmarc)

A Python module, command line utility, and [web application](https://github.com/domainaware/checkdmarc-web-frontend) for validating SPF and DMARC DNS records.

## Features

- API, CLI, and web interfaces
- Can test multiple domains at once
- CLI output in JSON or CSV format
- DNSSEC validation
- SPF
  - Record validation
  - Counting of DNS lookups and void lookups
  - Counting of lookups per mechanism
- DMARC
  - Validation and parsing of DMARC records
  - Shows warnings when the DMARC record is made ineffective by `pct` or `sp` values
  - Checks for authorization records on reporting email addresses
- BIMI
  - Validation of the mark format and certificate
  - Parsing of the mark certificate
- MX records
  - Preference
  - IPv4 and IPv6 addresses
  - Checks for STARTTLS
  - Use of DNSSEC/TLSA/DANE to pin certificates
- MTA-STS
- SMTP TLS reporting
  - Record and policy parsing and validation
- SOA record parsing
- Nameserver listing

## Docker support
1. Build the image using docker `build . -t checkdmarc`
2. Use the image with a command like `docker run --rm checkdmarc google.nl`

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "checkdmarc",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "BIMI, DMARC, DNS, MTA-STS, SPF",
    "author": null,
    "author_email": "Sean Whalen <whalenster@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/79/71/223433ae1ed258e57f58077bcd937dcf7bfee8e6208d349ac7cc33735a3c/checkdmarc-5.12.25.tar.gz",
    "platform": null,
    "description": "# checkdmarc\n\n[![Python tests](https://github.com/domainaware/checkdmarc/actions/workflows/python-tests.yaml/badge.svg)](https://github.com/domainaware/checkdmarc/actions/workflows/python-tests.yaml)\n[![PyPI](https://img.shields.io/pypi/v/checkdmarc)](https://pypi.org/project/checkdmarc/)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/checkdmarc?color=blue)](https://pypistats.org/packages/checkdmarc)\n\nA Python module, command line utility, and [web application](https://github.com/domainaware/checkdmarc-web-frontend) for validating SPF and DMARC DNS records.\n\n## Features\n\n- API, CLI, and web interfaces\n- Can test multiple domains at once\n- CLI output in JSON or CSV format\n- DNSSEC validation\n- SPF\n  - Record validation\n  - Counting of DNS lookups and void lookups\n  - Counting of lookups per mechanism\n- DMARC\n  - Validation and parsing of DMARC records\n  - Shows warnings when the DMARC record is made ineffective by `pct` or `sp` values\n  - Checks for authorization records on reporting email addresses\n- BIMI\n  - Validation of the mark format and certificate\n  - Parsing of the mark certificate\n- MX records\n  - Preference\n  - IPv4 and IPv6 addresses\n  - Checks for STARTTLS\n  - Use of DNSSEC/TLSA/DANE to pin certificates\n- MTA-STS\n- SMTP TLS reporting\n  - Record and policy parsing and validation\n- SOA record parsing\n- Nameserver listing\n\n## Docker support\n1. Build the image using docker `build . -t checkdmarc`\n2. Use the image with a command like `docker run --rm checkdmarc google.nl`\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python module and command line parser for SPF and DMARC records",
    "version": "5.12.25",
    "project_urls": {
        "Changelog": "https://github.com/domainaware/checkdmarc/blob/master/CHANGELOG.md",
        "Documentation": "https://domainaware.github.io/checkdmarc/",
        "Homepage": "https://github.com/domainaware/checkdmarc",
        "Issues": "https://github.com/domainaware/checkdmarc/issues"
    },
    "split_keywords": [
        "bimi",
        " dmarc",
        " dns",
        " mta-sts",
        " spf"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "24daa5277c03ac43ba36160514a445104acd515ada36859b1ef3c376ff890355",
                "md5": "549a4023b3a0a2e7137ac05d4ec3601f",
                "sha256": "9a8cec129f395066d4c2562097541da8d1f3c5f098b7b19cbc043a640eb1c2fc"
            },
            "downloads": -1,
            "filename": "checkdmarc-5.12.25-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "549a4023b3a0a2e7137ac05d4ec3601f",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 65649,
            "upload_time": "2025-10-30T12:37:37",
            "upload_time_iso_8601": "2025-10-30T12:37:37.052968Z",
            "url": "https://files.pythonhosted.org/packages/24/da/a5277c03ac43ba36160514a445104acd515ada36859b1ef3c376ff890355/checkdmarc-5.12.25-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7971223433ae1ed258e57f58077bcd937dcf7bfee8e6208d349ac7cc33735a3c",
                "md5": "1933b85e124c9d09417c523363b75c5f",
                "sha256": "bad9bdcf838383598f915dcd6e20162f7c412e912163191074018defd3f11e8d"
            },
            "downloads": -1,
            "filename": "checkdmarc-5.12.25.tar.gz",
            "has_sig": false,
            "md5_digest": "1933b85e124c9d09417c523363b75c5f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 54441,
            "upload_time": "2025-10-30T12:37:38",
            "upload_time_iso_8601": "2025-10-30T12:37:38.453305Z",
            "url": "https://files.pythonhosted.org/packages/79/71/223433ae1ed258e57f58077bcd937dcf7bfee8e6208d349ac7cc33735a3c/checkdmarc-5.12.25.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-30 12:37:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "domainaware",
    "github_project": "checkdmarc",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "dnspython",
            "specs": [
                [
                    ">=",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "cryptography",
            "specs": [
                [
                    ">=",
                    "45.0"
                ],
                [
                    "<",
                    "47.0"
                ]
            ]
        },
        {
            "name": "pem",
            "specs": [
                [
                    ">=",
                    "23.1.0"
                ]
            ]
        },
        {
            "name": "expiringdict",
            "specs": [
                [
                    ">=",
                    "1.1.4"
                ]
            ]
        },
        {
            "name": "pyleri",
            "specs": [
                [
                    ">=",
                    "1.3.2"
                ]
            ]
        },
        {
            "name": "publicsuffixlist",
            "specs": [
                [
                    ">=",
                    "0.10.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    ">=",
                    "2.25.0"
                ]
            ]
        },
        {
            "name": "xmltodict",
            "specs": [
                [
                    ">=",
                    "0.14.2"
                ]
            ]
        },
        {
            "name": "importlib-resources",
            "specs": [
                [
                    ">=",
                    "6.0"
                ]
            ]
        },
        {
            "name": "timeout-decorator",
            "specs": [
                [
                    ">=",
                    "0.5.0"
                ]
            ]
        },
        {
            "name": "flake8",
            "specs": [
                [
                    ">=",
                    "3.8.4"
                ]
            ]
        },
        {
            "name": "sphinx",
            "specs": [
                [
                    ">=",
                    "3.3.1"
                ]
            ]
        },
        {
            "name": "myst-parser",
            "specs": [
                [
                    ">=",
                    "0.18.0"
                ]
            ]
        },
        {
            "name": "myst-parser",
            "specs": []
        },
        {
            "name": "sphinx_rtd_theme",
            "specs": [
                [
                    ">=",
                    "0.5.0"
                ]
            ]
        },
        {
            "name": "wheel",
            "specs": [
                [
                    ">=",
                    "0.35.1"
                ]
            ]
        },
        {
            "name": "codecov",
            "specs": [
                [
                    ">=",
                    "2.1.10"
                ]
            ]
        },
        {
            "name": "autopep8",
            "specs": []
        },
        {
            "name": "hatch",
            "specs": []
        },
        {
            "name": "pytest",
            "specs": []
        },
        {
            "name": "ruff",
            "specs": []
        },
        {
            "name": "black",
            "specs": []
        }
    ],
    "lcname": "checkdmarc"
}
        
Elapsed time: 1.81554s