Skip to content

A powerful mass email tool built with FastAPI, allowing users to create and send personalized emails with ease. Features include HTML editor, CSV management, and SMTP configuration.

License

Notifications You must be signed in to change notification settings

lohitkolluri/FlaskPost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Banner

Built with FastAPI Email with FastMail Database

📧 Transform your email campaigns with powerful mass mailing capabilities!

FeaturesPrerequisitesInstallationDeploymentUsage

Email Streamlined mass mailing Template Rich HTML templates Analytics Delivery analytics

✨ Features

📧 Email Management
  • Advanced HTML Editor
    • Rich text formatting
    • Template customization
    • Dynamic content insertion
    • Real-time preview
  • Recipient Management
    • CSV file upload support
    • Contact list organization
    • Dynamic field mapping
    • Duplicate detection
  • Campaign Tools
    • Scheduled sending
    • Batch processing
    • Personalization tokens
    • Template variables
🔧 System Features
  • SMTP Configuration
    • Multiple provider support
    • Secure connection handling
    • Custom port configuration
    • Authentication management
  • Error Handling
    • Comprehensive logging
    • Retry mechanisms
    • Failure notifications
    • Invalid email detection
  • Performance
    • Asynchronous processing
    • Rate limiting
    • Queue management
    • Resource optimization
📊 Analytics & Reporting
  • Delivery Tracking
    • Success/failure rates
    • Bounce tracking
    • Delivery timestamps
    • Error categorization
  • Campaign Insights
    • Batch statistics
    • Processing times
    • Queue status
    • System performance

🚀 Getting Started

graph LR
    A[Upload CSV] --> B[Configure SMTP]
    B --> C[Create Template]
    C --> D[Preview Email]
    D --> E[Send Campaign]
    E --> F[Track Results]
Loading

📋 Prerequisites

Python
Python 3.8+
FastAPI
FastAPI
Jinja2
Jinja2

🛠️ Installation

1️⃣ Clone the Repository

git clone https://github.com/lohitkolluri/FlaskPost.git
cd FlaskPost

2️⃣ Set Up Environment

python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

3️⃣ Install Dependencies

pip install -r requirements.txt

4️⃣ Launch the Application

python app.py

The application will be available at http://localhost:5000

💻 Usage

📤 Sending Emails

  1. Access the web interface at http://localhost:5000
  2. Configure your SMTP settings in the web UI:
    • SMTP Host (e.g., smtp.gmail.com)
    • SMTP Port (e.g., 587 for TLS)
    • Username and Password
    • TLS/SSL preferences
  3. Upload your CSV file with recipient data
  4. Create or select an HTML email template
  5. Preview your email
  6. Send your campaign

Your SMTP settings are securely stored for the session and can be easily modified through the interface.

📝 Template Variables

Dear {{recipient_name}},

Your custom message here.

Best regards,
{{sender_name}}

🔍 CSV Format

email,name,custom_field
[email protected],John Doe,Value1
[email protected],Jane Smith,Value2

🛡️ Security Features

  • Email Validation
    • Syntax checking
    • Domain verification
    • Bounce detection
  • Data Protection
    • Secure SMTP
    • Environment variables
    • Data encryption
  • Error Prevention
    • Rate limiting
    • Duplicate detection
    • Format validation

📊 System Architecture

flowchart TD
    A[User Interface] --> B[FastAPI Backend]
    B --> C{Processing}
    C --> D[Template Engine]
    C --> E[Email Queue]
    C --> F[CSV Parser]
    E --> G[FastMail]
    G --> H[SMTP Server]
Loading

🔧 Configuration

Web UI Configuration

The application provides a user-friendly interface for configuring:

  • SMTP Settings
    • Server host and port
    • Authentication credentials
    • Security options (TLS/SSL)
    • Connection testing
  • Email Options
    • Sender name and email
    • Reply-to address
    • Custom headers
    • Rate limiting
  • Template Settings
    • HTML editor configuration
    • Preview options
    • Variable mapping

📄 License

MIT License © Lohit Kolluri - feel free to use this project as you wish!

About

A powerful mass email tool built with FastAPI, allowing users to create and send personalized emails with ease. Features include HTML editor, CSV management, and SMTP configuration.

Topics

Resources

License

Stars

Watchers

Forks