- Fixed settings form silently dropping fields (multipart/form-data parse) - Fixed IMAP test connection (multipart parse + raw field logging) - Added IMAPUsername field throughout (model, settings, handlers, worker) - Replaced smtp.SendMail with custom sendMail (explicit HELO + STARTTLS) - Added From header to OTP/Welcome emails (RFC5322 compliance) - Worker now processes ALL INBOX emails (FetchBatch instead of FetchUnseen) - Fixed go build . compiling debug scripts instead of src/cmd/main.go - Added Notifications, Finance, Social classification folders (7 total) - Refined AI prompt with precise category descriptions - Added session guardrail to AGENTS.md
52 lines
No EOL
1 KiB
YAML
52 lines
No EOL
1 KiB
YAML
# inBOXER Configuration
|
|
|
|
# Server configuration
|
|
server:
|
|
port: 8080
|
|
host: "0.0.0.0"
|
|
session_secret: "change-me-in-production" # Override with APP_SECRET from .env
|
|
|
|
# Database configuration
|
|
database:
|
|
path: "bin/db.sqlite"
|
|
auto_migrate: true
|
|
|
|
# IMAP configuration (user-specific, stored encrypted in database)
|
|
imap_defaults:
|
|
host: "imap.example.com"
|
|
port: 993
|
|
tls: true
|
|
batch_size: 10
|
|
poll_interval_minutes: 5
|
|
|
|
# AI classification configuration
|
|
ai:
|
|
model: "deepseek-chat"
|
|
max_tokens: 1000
|
|
temperature: 0.1
|
|
prompt_file: "bin/prompt.txt"
|
|
|
|
# Worker configuration
|
|
worker:
|
|
steady_state_batch_size: 10
|
|
steady_state_interval_minutes: 5
|
|
catch_up_batch_size: 50
|
|
catch_up_cooldown_seconds: 5
|
|
|
|
# Email folders (will be created if they don't exist)
|
|
folders:
|
|
important: "Important"
|
|
ecommerce: "eCommerce"
|
|
notifications: "Notifications"
|
|
finance: "Finance"
|
|
social: "Social"
|
|
other: "Other"
|
|
spam: "Spam"
|
|
|
|
# Logging
|
|
logging:
|
|
level: "info"
|
|
file: "bin/inboxer.log"
|
|
max_size_mb: 10
|
|
max_backups: 3
|
|
max_age_days: 30 |