MailFlow-AI / README.md
prince1604
Fix missing HuggingFace Space configuration in README
56650d3
|
Raw
History Blame Contribute Delete
3.94 kB
---
title: MailFlow AI
emoji: πŸš€
colorFrom: blue
colorTo: indigo
sdk: docker
pinned: false
---
# MailFlow AI - Advanced Email Automation πŸš€
A highly attractive, GUI-based Python email automation tool designed for both beginners and advanced businesses. MailFlow AI is tailored for sending personalized emails to a list of contacts from an Excel/CSV file with optional attachments. It includes an intuitive web interface built using Flask and Tailwind CSS.
## Key Features
- **Beautiful GUI Interface**: Run the app locally and get a modern, interactive dashboard and campaign builder.
- **Dynamic Personalization**: Automatically insert variables like `{FirstName}` or `{CompanyName}` dynamically based on your contact sheet columns.
- **Smart Tracking**: Connects to your Excel file, tracking "Already Sent" vs "Pending" emails to prevent duplicate sends.
- **Real-time Progress Bar**: Watch your emails send one by one with a live success/fail tracker.
- **Optional Attachments**: Super easy UI to mass-upload files like PDFs and Images to your emails.
- **Batch Processing**: Configurable delays to avoid your emails being flagged as spam.
## Quick Start (For Beginners & Pros)
### 1. Installation Requirements
1. Install Python (version 3.x).
2. Clone this repository to your computer.
3. Install the dependencies using terminal/command prompt:
```bash
pip install -r requirements.txt
```
### 2. How to Start the App GUI πŸ–₯️
Run the `app.py` script:
```bash
python app.py
```
After you press enter, open your web browser and navigate to exactly: **[http://127.0.0.1:5000](http://127.0.0.1:5000)**
### 3. Securing Your Gmail App Password (CRITICAL) πŸ”
Because of standard security rules, you **cannot** use your normal Gmail login password for automated email software. You need to quickly generate a special 16-character "App Password".
**Here is exactly how to generate it (Takes 1 minute):**
1. Go to your [Google Account Dashboard](https://myaccount.google.com/).
2. On the left navigation panel, click **Security**.
3. Under the "How you sign in to Google" section, make sure **2-Step Verification** is turned ON.
4. Once 2-Step Verification is active, search for **App Passwords** in the top search bar (or find it at the bottom of the 2-step verification page).
5. Name the app password something recognizable, like `MailFlow AI`.
6. Click **Generate**.
7. Google will give you a **16-letter password** (e.g. `abcd efgh ijkl mnop`).
8. Copy that password *without* spaces. This is the password you will paste into the GUI when making a new campaign!
### 4. Excel/CSV Contact Sheet Rules πŸ“Š
Before creating a campaign, make sure your Excel (.xlsx) or CSV file has columns for your data.
- **Email Column:** You can name your email column anything (e.g. `Email`, `RecipientEmail`, `Contact`). The app will dynamically detect it or let you choose it from a dropdown!
- You can add any custom columns you want! Example: `FirstName`, `Industry`.
- In the "Email Body Message" area of the GUI, just type `{FirstName}` and it will auto-populate that column's data for every single person.
*Note: The app will safely auto-create columns `EmailSent` and `DateSent` tracking to log its successful deliveries.*
---
## Technical Details (For Advanced Users)
- **Framework:** Python Flask (Backend) + HTML/JS/Tailwind CSS (Frontend)
- **Concurrency:** Uses asynchronous sequential dispatch over REST API to prevent browser timeouts for large email lists (`/api/send_next`).
- **Data Persistence:** Updates the specific `.xlsx`/`.csv` contact file locally on each iteration using an optimistic file-lock model so progress is instantly saved on hard drive.
- **SMTP Limitations:** Using Gmail SMTP, be cautious of Google's hard sending limits (approximately 500 emails/day for free accounts, 2000 for Google Workspace). We built-in a 1 second delay per email to prevent automated spam flags.
License: MIT