Email Notification Service

Gmail IMAP checker with desktop notifications.

Email Notification Service
  • 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.