2.5 KiB
2.5 KiB
Email System Fixes
Issues Addressed
1. Email Credentials Not Found Errors
- Problem: The system was trying to fetch emails even when no credentials were present
- Solution:
- Added session ID check in
EmailThreadViewbefore attempting to fetch emails - Modified
fetch-threadAPI to return empty results instead of throwing errors when credentials are missing - Added proper session cleanup in
EmailCommunicationcomponent
- Added session ID check in
2. 502 Gateway Timeout Errors
- Problem: Email fetching was causing timeouts, especially when editing/saving interest cards
- Solution:
- Reduced email fetch limit from 50 to 20 emails
- Added 15-second timeout for IMAP connections
- Prevented unnecessary email fetches when no session exists
3. EOI Generation Issues
- Problem: EOI generation may fail due to missing Documenso configuration
- Solution:
- Added environment variable validation for
NUXT_DOCUMENSO_API_KEYandNUXT_DOCUMENSO_BASE_URL - Improved error messages to indicate when configuration is missing
- Added environment variable validation for
Required Environment Variables
Make sure these are set in your .env file:
# Email Configuration
NUXT_EMAIL_ENCRYPTION_KEY=your-32-character-encryption-key
NUXT_EMAIL_IMAP_HOST=mail.portnimara.com
NUXT_EMAIL_IMAP_PORT=993
NUXT_EMAIL_SMTP_HOST=mail.portnimara.com
NUXT_EMAIL_SMTP_PORT=587
NUXT_EMAIL_LOGO_URL=https://portnimara.com/logo.png
# Documenso Configuration (REQUIRED for EOI generation)
NUXT_DOCUMENSO_API_KEY=your-actual-api-key
NUXT_DOCUMENSO_BASE_URL=https://signatures.portnimara.dev
How It Works Now
-
Email Session Management:
- Sessions are stored in browser's sessionStorage
- If no session exists, email features are gracefully disabled
- Users can connect/disconnect at any time
-
Email Fetching:
- Only attempts to fetch when valid session exists
- Limited to 20 emails to prevent timeouts
- Falls back to cached emails from MinIO if IMAP fails
- 15-second timeout prevents hanging connections
-
EOI Generation:
- Validates all required fields before attempting generation
- Checks for Documenso configuration
- Returns clear error messages if configuration is missing
- Inserts client's signing link directly into email body
Troubleshooting
If you're still experiencing issues:
- Check Docker logs:
docker logs <container-name> - Verify environment variables are set correctly
- Ensure Documenso API credentials are valid
- Try disconnecting and reconnecting email credentials