Mini Mail is a lightweight web-based mail system built using Flask and MySQL.
It allows users to send and receive internal messages securely, with optional OTP verification via Twilio, file attachments, and an Admin Dashboard to monitor all activities.
✅ User Registration & Login (PIN-based)
✅ OTP Verification for Login/Signup (optional)
✅ File Attachments (images, videos, PDFs, docs, etc.)
✅ Admin Dashboard (View users, messages, logs)
✅ Message history between users
✅ Runs locally or via Ngrok for remote access
✅ Clean UI with custom CSS
| Component | Technology |
|---|---|
| Frontend | HTML, CSS |
| Backend | Flask (Python) |
| Database | MySQL |
| SMS/OTP | Twilio API |
| Server Hosting (optional) | ngrok tunnel |
git clone https://github.com/<your-username>/mini_mail.git
cd mini_mail
2️⃣ Create a Virtual Environment
python3 -m venv venv
source venv/bin/activate # For macOS/Linux
venv\Scripts\activate # For Windows
3️⃣ Install Dependencies
pip install flask mysql-connector-python twilio
4️⃣ Configure MySQL
CREATE DATABASE mail;
CREATE DATABASE feedback;
5️⃣ Update Database & Twilio Credentials
DB_HOST = "localhost"
DB_USER = "root"
DB_PASSWORD = "your_mysql_password"
# Optional Twilio OTP config
TWILIO_SID = "your_account_sid"
TWILIO_AUTH = "your_auth_token"
TWILIO_PHONE = "+1xxxxxxxxxx"
6️⃣ Run the Application
python3 mini_mail.py
🧱 Project Structure
mini_mail/
│
├── mini_mail.py # Main Flask app
├── uploads/ # File uploads
├── logs/ # Log files (optional)
├── venv/ # Virtual environment
├── .gitignore
└── README.md # Project documentation