Spaces:
Sleeping
Sleeping
| 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 | |