A Docker-based tool that analyzes unread emails in your Gmail inbox and groups them by domain.
1.1K
A Docker-based tool that analyzes unread emails in your Gmail inbox and groups them by domain, providing counts and convenient search links. Perfect for inbox management and understanding your email patterns.
If you want to run the analyzer without cloning the repository, you can pull the image directly from Docker Hub:
First, complete the Google Cloud Console setup from the Prerequisites section and download your credentials.json
Create a directory for credentials and token storage:
mkdir ~/gmail-analyzer-data
cp /path/to/your/credentials.json ~/gmail-analyzer-data/
docker run --rm -it \
-p 8080:8080 \
-v ~/gmail-analyzer-data:/data \
jmarikle/gmail-analyzer:latest
This project was primarily generated using Claude.ai by Anthropic. Specifically:
While the application was AI-generated, all code has been tested and verified to work as described. The OAuth2 implementation and Gmail API integration follow Google's best practices and security requirements.
We believe in transparency about AI usage in development. While AI is a powerful tool for code generation and documentation, users should be aware of how their tools are created. This allows for:
While Claude.ai generated most of the code, human oversight was maintained throughout the development process to ensure:
Feel free to review, use, and modify this code according to your needs. If you have questions or concerns about the AI-generated aspects of this project, please open an issue for discussion.
Create a new Google Cloud Project:
Enable the Gmail API:
Create OAuth 2.0 Credentials:
credentials.jsongit clone https://github.com/jmarikle/gmail-analyzer.git
cd gmail-analyzer
credentials.json file in the project directory:cp /path/to/downloaded/credentials.json .
make build
make run
=== Gmail Domain Analyzer ===
Starting authentication process...
Found existing credentials, attempting to use them...
Fetching unread messages from inbox...
Found 42 unread messages. Analyzing...
Processed 10/42 messages...
Processed 20/42 messages...
Processed 30/42 messages...
Processed 40/42 messages...
Analysis Results:
Found emails from 15 different domains
From: example.com (12)
https://mail.google.com/mail/u/0/?pli=1#search/from:example.com+in:unread
From: newsletter.com (8)
https://mail.google.com/mail/u/0/?pli=1#search/from:newsletter.com+in:unread
...
make build VERSION=1.2.3
make run VERSION=1.2.3
make version
make clean
gmail-analyzer/
├── data/
│ ├── .gitkeep
│ ├── credentials.json (you need to add this)
│ └── token.pickle (generated during authentication)
├── .dockerignore
├── .gitignore
├── Dockerfile
├── LICENSE.md
├── main.py
├── Makefile
├── README.md
└── requirements.txt
git clone https://github.com/yourusername/gmail-analyzer.git
make build
make run
Update the DOCKER_HUB_USERNAME in the Makefile with your Docker Hub username
Login to Docker Hub:
docker login
make push VERSION=1.2.3
The project uses Git tags for version management. To create a new version:
git tag v1.2.3
git push origin v1.2.3
make push
Authentication Failed
credentials.json is in the project directoryDocker Build Fails
Permission Issues
The application creates a token.pickle file to store authentication tokens. This file is:
To reset authentication:
rm token.pickle
credentials.json or token.pickle to version controlMIT License - See LICENSE.md file for details.
For issues and feature requests, please:
Content type
Image
Digest
sha256:7e28d3563…
Size
61.3 MB
Last updated
almost 2 years ago
docker pull jmarikle/gmail-analyzer