Parse DMARC reports, save them in database and notify on DKIM or SPF error
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (12)
- Email Trigger (IMAP)
n8n-nodes-base.emailReadImap - Date & Time
n8n-nodes-base.dateTime - If
n8n-nodes-base.if - Edit Fields (Set)
n8n-nodes-base.set - MySQL
n8n-nodes-base.mySql - Rename Keys
n8n-nodes-base.renameKeys - Compression
n8n-nodes-base.compression - Extract from File
n8n-nodes-base.extractFromFile - XML
n8n-nodes-base.xml - Split Out
n8n-nodes-base.splitOut - Slack
n8n-nodes-base.slack - Send Email
n8n-nodes-base.emailSend
What it does
Who is it for If you are a postmaster or you manage email server, you can set up DKIM and SPF records to ensure that spoofing your email address is hard. On your domain you can also set up DMARC record to receive XML reports from email providers (rua tag). Those reports contain data if email they received passed DKIM and SPF verifications. Since DMARC email is public, you will receive a lot of emails from email providers, not only if DKIM/SPF fail. There is no need for it - you probably only need to know if SPF/DKIM failed. So this script is intended to automatically parse all DMARC reports that come from email providers, but ONLY send you notification if SPF or DKIM failed - meaning that either someone tries to spoof your email or your DKIM/SPF is improperly set up. How it works - script monitors postmaster email for DMARC reprots (rua) - unpacks report and parses XML into JSON - maps JSON and formats fields for MySQL/MariaDB input - inputs into database - sends notification on DKIM or SPF failure Remember to set up - email input mailbox - notification channels - for slack - for email