RFC 7489 & 8460 SMTP Report Monitoring Utilities.
Install
python3 -m pip install email-report-checker
Note these are for my hobby domain, do not try running them on even moderate traffic MTAs
RFC 7489 Domain-based Message Authentication, Reporting, and Conformance (DMARC)
First ensure your DMARC DNS TXT record contains rua and ruf to request reports:
_dmarc.zi.is. 3600 IN TXT “v=DMARC1; p=reject; pct=100; ruf=mailto:b+dmarc@zi.is; rua=mailto:b+dmarc@zi.is; adkim=s; aspf=s”
Then load the reports via IMAP:
dmarc-report-checker m.zi.is b@zi.is Archive > dmarc.json
And report your statistics
jq '[ .[].record.row | select(.source_ip == "68.183.35.248") | select(.policy_evaluated.dkim == "pass") | .count | tonumber] | add' dmarc.json
jq '[ .[].record.row | select(.source_ip == "68.183.35.248") | select(.policy_evaluated.dkim == "fail") | .count | tonumber] | add' dmarc.json
RFC 8460 SMTP TLS Reporting
First create a DNS TXT record to request reports:
_smtp._tls.zi.is. 3600 IN TXT "v=TLSRPTv1;rua=mailto:b+tls@zi.is"
Then load the reports via IMAP:
tls-report-cheker m.zi.is b@zi.is Archive > tls.json
And report your statistics
jq '[.[] | [.policies[].summary["total-successful-session-count"]] | add] | add' tls.json
jq '[.[] | [.policies[].summary["total-failure-session-count"]] | add] | add' tls.json
Metadata
Release files for email-report-checker 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| email-report-checker-0.0.1.tar.gz | 8.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| email_report_checker-0.0.1-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 14.8 kB
Release files / email-report-checker-0.0.1.tar.gz
| Download URL | email-report-checker-0.0.1.tar.gz |
|---|---|
| Size | 8.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f49b9a698c9555d3cc6e9bd7052d8cc12b51aa2cdffd413ef1a87118d34456dc
|
|
BLAKE2b-256 checksum How to use checksums |
412b2f8d4f149b938743b2837f91e3e317d4318856612b1e2f75598af88de6f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
|
Release files / email_report_checker-0.0.1-py2.py3-none-any.whl
| Download URL | email_report_checker-0.0.1-py2.py3-none-any.whl |
|---|---|
| Size | 6.1 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
94287ffb4c6f48b7d5a432ad425d0838fa2b07479f4cfb97c9e105eadc64532b
|
|
BLAKE2b-256 checksum How to use checksums |
02de56888bd0e2b27acb53d16a498d9d616bf8baa130a09197a38a848152e744
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
|