Email Notification Service
Gmail IMAP checker with desktop notifications.

- Python
- IMAP
- Notifications
- Windows Service
Core Features
- Periodically checks your Gmail inbox for unread emails using the IMAP protocol.
- Displays desktop notifications showing the sender and subject line of new messages.
- Clickable notifications open Gmail directly for quick access.
- Logs processed email IDs to prevent duplicate notifications.
- Can run invisibly in the background as a Windows service using .bat or .vbs scripts.
- Configuration handled securely through environment variables (email, password, server).
Architecture
- Python script built around the `imaplib` and `email` modules for mail retrieval and parsing.
- Uses a lightweight loop to poll the Gmail IMAP server every minute.
- Desktop notifications are displayed using libraries such as `plyer` or `win10toast`.
- Duplicate filtering handled by maintaining a local log of processed message IDs.
- Configurable `.env` setup with IMAP credentials and scheduling interval.
- Supports both manual execution (`python reminder_service.py`) and persistent background service via `.bat` or `.vbs` wrappers.
Technologies
- Python — main runtime environment for IMAP interaction and notifications.
- IMAP — email protocol used to fetch unread messages securely from Gmail.
- Environment Variables (`.env`) — store credentials and server configuration safely.
- Windows Task Automation — `.bat` and `.vbs` files enable silent startup and background operation.
- Notification Libraries — cross-platform desktop popups using lightweight notification modules.
Key Highlights
- Reliable, minimal, and easy-to-configure email notifier built entirely in Python.
- Runs silently in the background — ideal for productivity setups or workstation alerts.
- Avoids Gmail API complexity by using direct IMAP connection.
- Fully configurable without editing the source code — simple `.env` file setup.
- Open-source and extendable — can be adapted to other IMAP-compatible email providers.