This tool helps you track and categorize emails related to your job applications. It connects to your Gmail account, searches for emails from companies in your job application spreadsheet, and automatically categorizes them as application confirmations, interview requests, rejections, or other messages. The tool supports both English and German language emails.
- Automatically detects emails from companies you've applied to
- Categorizes emails into:
- Application Submitted
- Interview Request
- Application Rejected
- Application Related
- Other
- Extracts and displays full email content
- Updates your job application Excel file with the latest status
- Supports both English and German language emails
- Provides manual review option to correct miscategorized emails
- Python 3.6+
- Google account with Gmail
- Excel file with company names (format described below)
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
pip install pandas openpyxl beautifulsoup4
- Go to the Google Cloud Console
- Create a new project
- Enable the Gmail API for your project
- Create OAuth 2.0 credentials (Desktop application)
- Download the credentials JSON file and save it as
credentials.jsonin the same directory as this script
Create an Excel file with your job applications. The script expects a column named Company_Name containing the companies you've applied to.
Example format:
| Company_Name | Position | Date_Applied | ... |
|---|---|---|---|
| SWE | 2025-01-15 | ... | |
| Microsoft | Dev | 2025-01-20 | ... |
Edit these constants in the script:
EXCEL_FILE_PATH = r"E:\Jobs\Applied Jobs.xlsx" # Update with your Excel file path
DAYS_TO_CHECK = 30 # How many days back to check for emailspython simple_email_checker.py
On first run, you'll need to authorize the application to access your Gmail account. A browser window will open for authentication.
- The script loads company names from your Excel file
- It searches your Gmail for emails from each company
- Emails are categorized based on content analysis
- Results are displayed in the console, organized by category
- You can optionally manually review and correct categories
- Your Excel file is updated with the latest application status
- Application Submitted: Confirms your application was received
- Interview Request: Invites you to an interview or next steps
- Application Rejected: Indicates you were not selected
- Application Related: Other messages related to your application
- Other: Emails that don't fit the above categories
- Ensure your
credentials.jsonfile is in the same directory as the script - If you get permission errors, delete the
token.jsonfile and run the script again
- If emails aren't being found, try increasing the
DAYS_TO_CHECKvalue - Company names in your Excel file should match email domains (e.g., "Google" for emails from "@google.com")
- If emails are miscategorized, use the manual review option
- You can extend the keyword lists in the
categorize_emailfunction
- This script runs locally on your machine
- Your credentials and emails are not sent to any external servers
- The script only reads your emails; it doesn't modify or delete them
- Support for additional email providers
- More detailed categorization
- Automatic follow-up reminders
- Statistical analysis of application outcomes
This project is for personal use. Feel free to modify it for your needs.