authheaders
A library wrapping email authentication header verification and generation.
Decision gist · record as of 2026-08-14
Yes, if you need email authentication header handling in Python and can tolerate dormant maintenance. The library is stable, has no known vulnerabilities, and covers the core DKIM/SPF/DMARC/ARC use cases well. However, the 781-day release lag and lack of active development mean you should verify that the embedded PSL is current for your use case and be prepared to maintain a fork if critical bugs emerge. Suitable for production systems with low-change email authentication requirements.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >3.7.
- The package uses a Public Suffix List (PSL) embedded in the package; for current data, run `python3 setup.py pslupdate` before installation, or configure a system PSL path if available.
- High install friction due to no runtime dependencies but a source distribution requiring build-time setup.
License · maintenance · safety
MIT (permissive) — MIT license is permissive, allowing commercial and private use with minimal restrictions. No license-related barriers to adoption.
last release 2024-06-24 (781 days) · last repo commit 2024-06-24 · 19 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 399,655 downloads/mo, #6,946 on PyPI
Alternatives
Verify before relying
from authheaders import authenticate_message
message = """From: sender@test.com\nTo: recipient@example.com\nSubject: Test\n\nBody"""
result = authenticate_message(message, "example.com", ip='192.168.50.81', mail_from="test.com", helo="domain.of.sender.net")
print(result)- Whether the embedded PSL copy is kept reasonably current given the 781-day release lag
- Performance characteristics when validating large message volumes or complex DMARC policies
- Compatibility with modern email infrastructure (e.g., BIMI, report-uri handling)
What it is and what it does
authheaders is a Python library for generating and validating email authentication headers. It implements DKIM, SPF, DMARC, and ARC standards, allowing you to both verify incoming messages against these protocols and sign outgoing messages with DKIM or ARC signatures. The library packages validation results into standard Authentication-Results headers that mail systems use to communicate authentication status downstream.
The package includes an embedded Public Suffix List (PSL) for DMARC organizational boundary detection, with optional support for system-provided PSL copies or manual updates. It also supports experimental extensions like PSD DMARC (RFC 9091) and DMARCbis policy discovery, though these are opt-in. The main entry points are `authenticate_message()` for validation and `sign_message()` for generating signatures.
Use it for
- Validate incoming email messages against SPF, DKIM, and DMARC policies and generate Authentication-Results headers for downstream processing.
- Sign outgoing messages with DKIM or ARC signatures to prove authenticity and prevent spoofing.
- Build mail filtering or security systems that need to evaluate authentication status before delivery.
- Implement DMARC policy enforcement in mail transport agents or filtering appliances.
- Debug email authentication failures by examining raw validation results and header generation.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need email authentication header handling in Python and can tolerate dormant maintenance.
The library is stable, has no known vulnerabilities, and covers the core DKIM/SPF/DMARC/ARC use cases well. However, the 781-day release lag and lack of active development mean you should verify that the embedded PSL is current for your use case and be prepared to maintain a fork if critical bugs emerge. Suitable for production systems with low-change email authentication requirements.
Install
authheaders on PyPI
Before you install
High install friction due to no runtime dependencies but a source distribution requiring build-time setup. Maintenance is dormant—last release was 781 days ago, though the repository remains active with a recent commit on 2024-06-24. The package has been stable since its 2017 initial release.
Requires Python >3.7. The package uses a Public Suffix List (PSL) embedded in the package; for current data, run `python3 setup.py pslupdate` before installation, or configure a system PSL path if available.
License in practice
MIT license is permissive, allowing commercial and private use with minimal restrictions. No license-related barriers to adoption.
Quickstart
from authheaders import authenticate_message
message = """From: sender@test.com\nTo: recipient@example.com\nSubject: Test\n\nBody"""
result = authenticate_message(message, "example.com", ip='192.168.50.81', mail_from="test.com", helo="domain.of.sender.net")
print(result)
Verify before relying
- Whether the embedded PSL copy is kept reasonably current given the 781-day release lag
- Performance characteristics when validating large message volumes or complex DMARC policies
- Compatibility with modern email infrastructure (e.g., BIMI, report-uri handling)
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >3.7 |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Dormant 781 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 399,655 / month, #6,946 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Communications :: Email :: FiltersTopic :: Communications :: Email :: Mail Transport AgentsTopic :: Software Development :: Libraries :: Python ModulesTopic :: Utilities |
Evidence: authheaders-0.16.3.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “email authentication headers”
- authheadersGenerates and validates email authentication headers (DKIM, SPF,…
- mailsuitemailsuite retrieves, parses, and sends emails through a unified…
- eml-parserParses EML (email) files and extracts structured information…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also checkdmarc · dkimpy · mailsuite · parsedmarc · emails · email-validator · validate_email · mail-parser · pyIsEmail · flask-talisman