first commit
This commit is contained in:
+134
@@ -0,0 +1,134 @@
|
||||
# Email Alerts System - Flask Deployment Guide
|
||||
|
||||
## Overview
|
||||
This Flask web application provides a user-friendly interface for the Email Alerts System with configurable settings for time frames, email monitoring, and alert levels.
|
||||
|
||||
## Features
|
||||
|
||||
### ✅ Configurable Settings
|
||||
- **Email Address**: Set which email to monitor for responses
|
||||
- **Time Frames**: Add unlimited custom time frames for alerts (e.g., 1-24 hours, 24-48 hours, 48+ hours)
|
||||
- **Email Range**: Configure how many days back to check emails (1-365 days)
|
||||
- **Agency Domains**: Set which email domains indicate agency responses
|
||||
|
||||
### ✅ Web Interface
|
||||
- **Dashboard**: View system status and process emails
|
||||
- **Settings**: Configure all system parameters
|
||||
- **Real-time Updates**: See processing results and thread status
|
||||
|
||||
## Installation
|
||||
|
||||
### 1. Install Dependencies
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### 2. Environment Setup
|
||||
Copy the example environment file and configure your settings:
|
||||
```bash
|
||||
cp env.example .env
|
||||
```
|
||||
|
||||
Edit `.env` with your credentials:
|
||||
```env
|
||||
ZOHO_EMAIL=your-email@domain.com
|
||||
ZOHO_APP_PASSWORD=your-app-password
|
||||
GROQ_API_KEY=your-groq-api-key
|
||||
TWILIO_ACCOUNT_SID=your-twilio-sid
|
||||
TWILIO_AUTH_TOKEN=your-twilio-token
|
||||
TWILIO_PHONE_NUMBER=your-twilio-phone
|
||||
SECRET_KEY=your-secret-key-here
|
||||
```
|
||||
|
||||
### 3. Run the Application
|
||||
```bash
|
||||
python run.py
|
||||
```
|
||||
|
||||
The web interface will be available at: http://localhost:5000
|
||||
|
||||
## Usage
|
||||
|
||||
### Dashboard
|
||||
- **Test Connection**: Verify email connectivity
|
||||
- **Process Emails**: Run the email processing pipeline
|
||||
- **Refresh Threads**: Update the list of threads needing alerts
|
||||
|
||||
### Settings
|
||||
1. **Email Configuration**:
|
||||
- Set the email address to monitor
|
||||
- Configure how many days back to check emails
|
||||
- Add agency domains (comma-separated)
|
||||
|
||||
2. **Time Frames**:
|
||||
- Add unlimited custom time frames
|
||||
- Set hours and alert levels for each frame
|
||||
- Remove unwanted time frames
|
||||
|
||||
3. **Save Configuration**: All settings are automatically saved
|
||||
|
||||
## Configuration Examples
|
||||
|
||||
### Time Frames
|
||||
```
|
||||
1-24 hours: 24 hours, Level 1 (Normal)
|
||||
24-48 hours: 48 hours, Level 2 (Urgent)
|
||||
48+ hours: 72 hours, Level 3 (Critical)
|
||||
Custom: 12 hours, Level 1 (Early warning)
|
||||
```
|
||||
|
||||
### Email Range
|
||||
- **7 days**: Standard monitoring
|
||||
- **30 days**: Monthly monitoring
|
||||
- **90 days**: Quarterly monitoring
|
||||
|
||||
### Agency Domains
|
||||
```
|
||||
projects@manaknightdigital.com
|
||||
support@company.com
|
||||
help@agency.com
|
||||
```
|
||||
|
||||
## API Endpoints
|
||||
|
||||
- `GET /` - Dashboard
|
||||
- `GET /settings` - Settings page
|
||||
- `POST /update_settings` - Update configuration
|
||||
- `POST /process_emails` - Process emails and send alerts
|
||||
- `GET /get_threads` - Get threads needing alerts
|
||||
- `GET /test_connection` - Test email connection
|
||||
|
||||
## Production Deployment
|
||||
|
||||
### Using Gunicorn
|
||||
```bash
|
||||
pip install gunicorn
|
||||
gunicorn -w 4 -b 0.0.0.0:5000 app:app
|
||||
```
|
||||
|
||||
### Using Docker
|
||||
```dockerfile
|
||||
FROM python:3.11-slim
|
||||
WORKDIR /app
|
||||
COPY requirements.txt .
|
||||
RUN pip install -r requirements.txt
|
||||
COPY . .
|
||||
EXPOSE 5000
|
||||
CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:5000", "app:app"]
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
1. **Connection Failed**: Check Zoho IMAP settings and app password
|
||||
2. **No Alerts Sent**: Verify Twilio credentials and phone numbers
|
||||
3. **AI Analysis Errors**: Check Groq API key and quota
|
||||
|
||||
### Logs
|
||||
Check the console output for detailed error messages and processing results.
|
||||
|
||||
## Security Notes
|
||||
- Use strong SECRET_KEY for production
|
||||
- Enable HTTPS in production
|
||||
- Restrict access to authorized users
|
||||
- Regularly rotate API keys and passwords
|
||||
Reference in New Issue
Block a user