Skip to main content

Downloads DMARC attachments from Gmail

Project description

Download DMARC Attachments From Gmail

Description

A tool to download DMARC from Gmail email attachments. Consider it under development, so use with care. Feedback and PRs are welcome!

How To Use

First, you need to give the tool access to your Gmail account through the API. Here's how to do it for a workspace account:

  • Access https://console.cloud.google.com/
  • Create a new project, for example named "DownloadDMARCAttachments"
  • Select the newly created project
  • Enable the Gmail API
    • Navigate to the API Console
    • Select on ENABLE APIS AND SERVICES
    • Search for gmail
    • Select Gmail API
    • Select Enable
  • Configure the OAuth consent
  • Configure the Credentials
    • Select Credentials from the left navigation pane
    • Select CREATE CREDENTIALS and select OAuth Client ID
    • For Application type select Desktop app
    • For Name fill in "DownloadDMARCAttachments"
    • Select Create
    • Download the JSON file
  • Create a ~/.config/dmarc folder, copy the client json file into it, and rename it to client_id.json

Second, you need to ensure that all the DMARC messages in your Gmail inbox have a label. By default, the label is "DMARC".

Third, create a label under which the messages will be posted after a successful download of the attachment. By default, the tool uses "PROCESSED_DMARC".

You are now ready to run it. Just pass in the label name and the processed label name, if different from the defaults. The tool will download the attachments for messages found under the DMARC label into an out folder and replace the DMARC label with the processed label. This allows you to double check the results, and do whatever you want with the processed messages.

Renewing OAuth Client ID

When renewing the OAuth Client ID, download the OAuth client JSON file again.

Move the file to ./secrets/client_id.json.

Delete the file ./secrets/token.pickle.

Known Issues

We're still figuring out the different ways the attachment id is found in Gmail messages, so processing fails for some messages.

Limitations

Due to limitations in the Gmail API, the tool processes max. 500 messages at once. If you have more than 500 DMARC messages, just run it again until you process all the files.

Generating a report

If you're looking for a simple tool to generate a report from the downloaded attachments, check out the companion tool DMARC Reporting.

Development setup

  • Make sure you have python 3.10
  • Install pipenv

With default arguments, i.e. --labelName DMARC --processedLabelName PROCESSED_DMARC

make install
make run

To pass arguments:

make run args="--labelName dmarc --processedLabelName processed-dmarc"

Development Notes

This tool was started by Alex Bolboaca to automate the DMARC processing flow that he uses.

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

DownloadDMARCAttachmentsFromGmail-0.1.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file DownloadDMARCAttachmentsFromGmail-0.1.0.tar.gz.

File metadata

File hashes

Hashes for DownloadDMARCAttachmentsFromGmail-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d8aa9e8189273548e12dda80d9ac5b28f20441ec2245b0ea816fd20aef2ff0b6
MD5 5804080548131c12f31a38c99f8103b4
BLAKE2b-256 47b6696851b2c8e9c3e9d8e3d966b1e4fe0574182d3d234faba4a890e4144388

See more details on using hashes here.

File details

Details for the file DownloadDMARCAttachmentsFromGmail-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for DownloadDMARCAttachmentsFromGmail-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7e4741db200525e1bcd8329f380922fa6ad9fec6ba6cc51a97ebe703ff60e946
MD5 f191342783390c41db99b2ab8310c79a
BLAKE2b-256 d2a8cfbb771e76e2e9f63e4013ade6d9446f464835e86e5638aa22604d34e7c0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page