Skip to content
FlowHubFluxonLab
Compression
Compressionfree

Parse DMARC reports, save them in database and notify on DKIM or SPF error

by Łukaszadapted from n8n official workflow galleryUpdated Aug 2026
RequiresCompressionCompressionMySQLMySQLSend EmailSend EmailSlack
Share Post Share
EREmail Trigger (IMAP)Email Trigger (…DTEnd date formatIfIf multiple records to parseIf multiple rec…SeMap fields for DB input and parseMap fields for …DTBegin format dateBegin format da…Input into databaseInput into data…IfIf issue with DKIM or SPFIf issue with D…RKRename KeysSeRename column for consistencyRename column f…CoUnzip FileEFExtract XML dataXmParse XML data to JSONParse XML data …SOSplit Out For Separate EntriesSplit Out For S…Slack Post Message On ChannelSlack Post Mess…ESSend Error Notification EmailSend Error Noti…123456789101112131415
1/5
STEPS · 15
Execution path through the workflow

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.

Tags

n8nreference-onlycompressionemail-sendmy-sqlslack
Connects
compressionCompressionmysqlMySQLsendemailSend EmailSlack
CategoryCompression
Triggermanual
Complexitycomplex
Nodes15
AddedJul 29, 2024

Related workflows

See all Compression
CcompressionW
free

Fetch and parse Amazon SP-API reports into structured TSV rows

Quick Overview This workflow manually requests an Amazon Selling Partner (SP-API) report, polls until it is ready, downloads the report document, optionally decompresses it if it is GZIP, and parses the TSV contents into one n8n item per row. How it works Starts when you run the workflow manually. Uses Login with Amazon (LWA) to exchange your refresh token, client ID, and client secret for an access token. Calls the Amazon SP-API Reports API to create a report for the configured report type and marketplace. Polls the Amazon SP-API until the report processing status is DONE (or errors if it fails or times out). Fetches the report document metadata and downloads the report file from the provided URL. If the document is GZIP-compressed, decompresses the file and then parses the TSV into structured JSON items, outputting one item per row. Setup Create and authorize Amazon SP-API (Login with Amazon) credentials, then fill in the refresh_token, client_id, and client_secret values in the Config step. Set the correct SP-API endpoint region (EU/NA/FE), report_type, and marketplace_ids values in the Config step. If you want to store or route results, add downstream nodes after the parsed row

by Nexus AI
compressiondropboxW
free

Compress binary files to zip format

This workflow allows you to compress binary files to zip format. HTTP Request node: The workflow uses the HTTP Request node to fetch files from the internet. If you want to fetch files from your local machine, replace it with the Read Binary File or Read Binary Files node. Compression node: The Compression node compresses the file into a zip. If you want to compress the files to gzip, then select the gzip format instead. Based on your use-case, you may want to write the files to your disk or upload it to Google Drive or Box. If you want to write the compressed file to your disk, replace the Dropbox node with the Write Binary File node, or if you want to upload the file to a different service, use the respective node.

by Harshil Agrawal
compressionW
free

Split Out Binary Data

This workflows helps with processing binary data. You'll often have binary objects with keys such as attachment_0, attachment_1, attachment_2, etc. attached to your items, for example when reading an incoming email. This binary data is hard to process because it's not an array you can simply loop through. This workflow solves this problem by providing a Function node that takes all incoming items and all their binary data and then returning a single item for each file with a data key containing your binary file. Incoming binary data: Processed binary data:

by Tom