Parse and evaluate DMARC email authentication policy
Project description
DMARC (Domain-based Message Authentication, Reporting & Conformance)
This module allows an application to parse and evaluate email authentication policy, to application supplied TXT RR, SPF and DKIM results.
Installation
Use the package manager pip to install dmarc.
pip install dmarc
Usage
>>> import dmarc
# represent verified SPF and DKIM status
>>> aspf = dmarc.SPF(domain='news.example.com', result=dmarc.SPF_PASS)
>>> adkim = dmarc.DKIM(domain='example.com', result=dmarc.DKIM_PASS)
>>> d = dmarc.DMARC()
# parse policy TXT RR
>>> p = d.parse_record(record='v=DMARC1; p=reject;', domain='example.com')
# evaluate policy
>>> r = d.get_result(p, spf=aspf, dkim=adkim)
# check result
>>> r.result == dmarc.POLICY_PASS
True
# check disposition
>>> r.disposition == dmarc.POLICY_DIS_NONE
True
>>> r.as_dict()
{'record': {'identifiers': {'header_from': 'example.com'}, 'auth_results': {'dkim': {'domain': 'example.com', 'result': 'pass'}, 'spf': {'domain': 'news.example.com', 'result': 'pass'}}, 'row': {'count': 1, 'policy_evaluated': {'spf': 'pass', 'dkim': 'pass', 'disposition': 'none'}}}, 'policy_published': {'adkim': 'r', 'domain': 'example.com', 'aspf': 'r', 'pct': 100, 'p': 'reject'}}
License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dmarc-1.0.2.tar.gz
(5.1 kB
view hashes)
Built Distribution
dmarc-1.0.2-py3-none-any.whl
(6.4 kB
view hashes)