inBOXER - Email classification and organization tool using IMAP and AI
- IMAP client package with TLS/STARTTLS connection management, unseen fetching, batch fetching by UID range, message move/copy operations, folder management - Background worker with steady-state (unseen polling) and catch-up (UID range backlog) modes, per-user IMAP connections, test mode support, placeholder AI classifier - Database: GetUsersWithAutoStart() for worker user discovery - Wired worker into main.go with graceful shutdown |
||
|---|---|---|
| bin | ||
| docs | ||
| src | ||
| .gitignore | ||
| AGENTS.md | ||
| go.mod | ||
| go.sum | ||
| Makefile | ||
| PROJECT_PLAN.md | ||
| README.md | ||
inBOXER
Email classification and organization tool using IMAP and AI.
Overview
inBOXER is a Go application that:
- Connects to your IMAP email account
- Uses DeepSeek AI to classify incoming emails
- Automatically moves emails to appropriate folders (Important, eCommerce, Other, Spam)
- Provides a web interface for configuration and monitoring
Features
- Email + OTP Authentication: Secure login without passwords
- AI-Powered Classification: Uses DeepSeek LLM for intelligent email sorting
- Mobile-First Web Interface: Responsive design for all devices
- Modular Architecture: Clean separation of concerns (auth, IMAP, AI, database, worker)
- Test Mode: Preview AI decisions without moving emails
Quick Start
- Clone the repository
- Configure
.envwith your API keys and credentials - Run
make buildto compile the binary - Run
make runto start the application - Access the web interface at
http://localhost:8080
Architecture
See PROJECT_PLAN.md for detailed architecture and development phases.
License
See docs/LICENSE.md for license information.