Skip to content

khaliduzzamantanoy/bulkmail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

11 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“ง BulkMail Pro.

BulkMail Pro

Professional Bulk Email Campaign Management System ๐Ÿš€

Flask Python SQLite License


Streamline your email marketing campaigns with enterprise-grade bulk email management โœจ

๐Ÿš€ Quick Start โ€ข โœจ Features โ€ข ๐Ÿ“– Usage โ€ข ๐Ÿค Contributing


๐Ÿ“‹ About

BulkMail Pro is a powerful Flask-based web application designed to revolutionize your email marketing campaigns. Built with scalability and user experience in mind, it provides a comprehensive solution for managing bulk email operations with professional-grade features.


โœจ Features

๐Ÿ” Authentication & Security

  • Secure Login System: Robust user authentication with session management
  • User Registration: Easy signup process with email verification
  • Password Reset: Secure password recovery functionality
  • Role-Based Access: Admin and user privilege management

๐Ÿ‘จโ€๐Ÿ’ผ Admin Dashboard

  • User Management: Complete control over user accounts and permissions
  • Activity Monitoring: Real-time tracking of user actions and system events
  • Email Analytics: Comprehensive logs of all email campaigns and delivery status
  • System Oversight: Monitor application performance and usage statistics

๐Ÿ“ค Email Management

  • SMTP Configuration: Custom SMTP settings for each user account
  • Bulk Email Sending: Efficient processing of large email lists
  • File Upload Support: Extract email addresses from text files automatically
  • Campaign Tracking: Monitor email delivery status and engagement metrics

๐Ÿ› ๏ธ System Features

  • File Management: Automatic cleanup of temporary uploads
  • Activity Logging: Detailed audit trail of all user actions
  • Database Management: SQLite integration with migration support
  • Environment Configuration: Secure handling of sensitive credentials

๐Ÿš€ Installation

๐Ÿ“‹ Prerequisites

  • Python 3.7 or higher
  • pip package manager
  • Git

๐Ÿ”ง Setup Process

# 1๏ธโƒฃ Clone the Repository
git clone https://github.com/khaliduzzamantanoy/bulkmail.git
cd bulkmail

# 2๏ธโƒฃ Set Up Virtual Environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# 3๏ธโƒฃ Install Dependencies
pip install -r requirements.txt

โš™๏ธ Environment Configuration

Create a .env file in the root directory:

# ๐Ÿ”‘ Security Configuration
SECRET_KEY=your-super-secret-key-here

# ๐Ÿ“ง SMTP Settings
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
SMTP_EMAIL=your-email@gmail.com
SMTP_PASSWORD=your-app-password

# ๐Ÿ—„๏ธ Database Configuration (Optional)
DATABASE_URL=sqlite:///instance/users.db

๐Ÿ—„๏ธ Database Setup

# Initialize database migrations
flask db init

# Create initial migration
flask db migrate -m "Initial migration"

# Apply migrations to database
flask db upgrade

๐Ÿš€ Launch Application

# Start the development server
python app.py

๐ŸŒ Access your application at: http://localhost:5000


๐Ÿ“– Usage

๐Ÿ  Getting Started

Step Action Description
1๏ธโƒฃ Access Application Navigate to http://localhost:5000
2๏ธโƒฃ Create Account Register a new user account
3๏ธโƒฃ Configure SMTP Set up your email server settings in /account
4๏ธโƒฃ Upload Email List Upload .txt file with email addresses
5๏ธโƒฃ Send Campaign Launch your bulk email campaign

๐Ÿ‘จโ€๐Ÿ’ผ Admin Panel

Access the admin dashboard at /admin to:

  • ๐Ÿ‘ฅ Manage user accounts and permissions
  • ๐Ÿ“Š View detailed activity logs
  • ๐Ÿ“ง Monitor email campaign performance
  • ๐Ÿ” Analyze system usage statistics

๐Ÿ“ค Email Campaign Process

flowchart TD
    A[๐Ÿ“ Upload Email List] --> B[โš™๏ธ Configure SMTP]
    B --> C[โœ๏ธ Compose Email]
    C --> D[๐Ÿš€ Send Campaign]
    D --> E[๐Ÿ“Š Monitor Results]
    E --> F[๐Ÿ“ˆ View Analytics]
    
    style A fill:#e3f2fd
    style F fill:#f3e5f5
Loading

๐Ÿ“ Email List Format

Create a .txt file with one email address per line:

user1@example.com
user2@example.com
user3@example.com
marketing@company.com

๐Ÿ› ๏ธ Tech Stack

Component Technology Purpose
๐Ÿ Backend Flask Web framework and API
๐Ÿ—„๏ธ Database SQLite Data storage and management
๐ŸŽจ Frontend HTML/CSS/JS User interface
๐Ÿ“ง Email SMTP Email delivery system
๐Ÿ” Authentication Flask-Login Session management
๐Ÿ“Š Migration Flask-Migrate Database versioning

๐Ÿ”ง Configuration

๐Ÿ“ง SMTP Providers

๐Ÿ“ฎ Popular SMTP Configuration Examples

Gmail

SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
SMTP_EMAIL=your-email@gmail.com
SMTP_PASSWORD=your-app-password

Outlook

SMTP_SERVER=smtp-mail.outlook.com
SMTP_PORT=587
SMTP_EMAIL=your-email@outlook.com
SMTP_PASSWORD=your-password

Yahoo

SMTP_SERVER=smtp.mail.yahoo.com
SMTP_PORT=587
SMTP_EMAIL=your-email@yahoo.com
SMTP_PASSWORD=your-app-password

๐Ÿ”’ Security Best Practices

  • ๐Ÿ”‘ Use strong, unique SECRET_KEY
  • ๐Ÿšซ Never commit .env file to version control
  • ๐Ÿ” Use app-specific passwords for email providers
  • ๐Ÿ›ก๏ธ Enable 2FA on email accounts
  • ๐Ÿ“Š Regularly monitor activity logs

๐Ÿš€ Deployment

๐ŸŒ Production Deployment

โ˜๏ธ Deploy to Heroku
# Install Heroku CLI and login
heroku login

# Create new Heroku app
heroku create your-bulkmail-app

# Set environment variables
heroku config:set SECRET_KEY=your-secret-key
heroku config:set SMTP_SERVER=smtp.gmail.com
heroku config:set SMTP_PORT=587
heroku config:set SMTP_EMAIL=your-email@gmail.com
heroku config:set SMTP_PASSWORD=your-password

# Deploy application
git push heroku main

# Run database migrations
heroku run flask db upgrade

๐Ÿณ Docker Deployment

๐Ÿ”ง Docker Configuration
FROM python:3.9-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install -r requirements.txt

COPY . .

EXPOSE 5000

CMD ["gunicorn", "--bind", "0.0.0.0:5000", "app:app"]

๐Ÿค Contributing

We welcome contributions from the community! ๐ŸŒŸ

Contributors

๐Ÿ”„ How to Contribute

# 1. ๐Ÿด Fork the repository
# 2. ๐Ÿ“ฅ Clone your fork
git clone https://github.com/YOUR_USERNAME/bulkmail.git

# 3. ๐ŸŒฟ Create feature branch
git checkout -b feature/YourFeatureName

# 4. โœจ Make your changes
# 5. ๐Ÿ’พ Commit changes
git commit -m 'Add some feature'

# 6. ๐Ÿš€ Push to branch
git push origin feature/YourFeatureName

# 7. ๐ŸŽ‰ Open a pull request

๐Ÿ“‹ Contribution Guidelines

  • ๐Ÿ› Bug Reports: Use issue templates with detailed descriptions
  • โœจ Feature Requests: Discuss new features in issues first
  • ๐Ÿ“ Code Style: Follow PEP 8 guidelines
  • ๐Ÿงช Testing: Add tests for new functionality
  • ๐Ÿ“– Documentation: Update docs for any changes

๐Ÿ“Š Project Statistics

GitHub Stats

๐Ÿ“ˆ Activity

Last Commit Issues Pull Requests


๐Ÿ“„ License

This project is licensed under the MIT License ๐Ÿ“œ

License: MIT

Feel free to use, modify, and distribute this project โœจ


โš ๏ธ Important Notes

๐Ÿ”’ Security Considerations

  • ๐Ÿ” Store all sensitive credentials in environment variables
  • ๐Ÿšซ Never hardcode passwords or API keys in source code
  • ๐Ÿ›ก๏ธ Use HTTPS in production environments
  • ๐Ÿ“Š Regularly audit activity logs for suspicious behavior

๐Ÿญ Production Recommendations

  • ๐Ÿš€ Use Gunicorn or uWSGI for production deployment
  • ๐ŸŒ Deploy on reliable platforms (Heroku, AWS, DigitalOcean)
  • ๐Ÿ’พ Implement regular database backups
  • ๐Ÿ“ˆ Set up monitoring and logging systems

๐Ÿ—„๏ธ Database Management

  • ๐Ÿ’พ Backup Location: instance/users.db
  • ๐Ÿ”„ Migration Commands: Use Flask-Migrate for schema changes
  • ๐Ÿ“Š Monitoring: Check database size and performance regularly

๐Ÿ’ฌ Support

๐Ÿ†˜ Get Help

๐Ÿ“ž Support Channel ๐Ÿ”— Link ๐Ÿ“ Description
๐Ÿ› Issues GitHub Issues Bug reports and technical issues
๐Ÿ’ก Discussions GitHub Discussions Feature requests and general questions
๐Ÿ“ง Email Contact Direct support for urgent issues

โญ If this project helped you, please give it a star!

GitHub stars


Made with โค๏ธ by Khaliduzzaman Tanoy

BulkMail Pro - Professional Email Marketing Made Simple ๐Ÿ“ง

About

Professional Bulk Email Campaign Management System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages