Add email channel via Mailgun for Ask Simba
Users can now receive a unique email address (ask+<token>@domain) and interact with Simba by sending emails. Inbound emails hit a Mailgun webhook, are authenticated via HMAC token lookup, processed through the LangChain agent, and replied to via the Mailgun API. - Extract shared SIMBA_SYSTEM_PROMPT to blueprints/conversation/prompts.py - Add email_enabled and email_hmac_token fields to User model - Create blueprints/email with webhook, signature validation, rate limiting - Add admin endpoints to enable/disable email per user - Update AdminPanel with Email column, toggle, and copy-address button - Add Mailgun env vars to .env.example - Include database migration for new fields Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
11
.env.example
11
.env.example
@@ -70,6 +70,17 @@ TWILIO_SIGNATURE_VALIDATION=true
|
||||
# WHATSAPP_RATE_LIMIT_MAX=10
|
||||
# WHATSAPP_RATE_LIMIT_WINDOW=60
|
||||
|
||||
# Mailgun Configuration (Email channel)
|
||||
MAILGUN_API_KEY=
|
||||
MAILGUN_DOMAIN=
|
||||
MAILGUN_WEBHOOK_SIGNING_KEY=
|
||||
EMAIL_HMAC_SECRET=
|
||||
# Rate limiting: max emails per window (default: 5 per 300 seconds)
|
||||
# EMAIL_RATE_LIMIT_MAX=5
|
||||
# EMAIL_RATE_LIMIT_WINDOW=300
|
||||
# Set to false to disable Mailgun signature validation in development
|
||||
MAILGUN_SIGNATURE_VALIDATION=true
|
||||
|
||||
# Obsidian Configuration (headless sync)
|
||||
# Auth token from Obsidian account (Settings → Account → API token)
|
||||
OBSIDIAN_AUTH_TOKEN=your-obsidian-auth-token
|
||||
|
||||
Reference in New Issue
Block a user