Skip to content

Freddywhest/MailBridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“¬ MailBridge β€” Dynamic SMTP Mail Sender

MailBridge is an open-source Laravel + Livewire application that allows you to send emails with attachments using dynamic SMTP credentials.
You can configure and test different mail servers (Google, DigitalOcean, or any SMTP provider) right from your browser β€” no .env edits needed.


πŸš€ Features

βœ… Built with Laravel 11, Livewire 3, and Bootstrap 5
βœ… Send mails with attachments
βœ… Dynamic SMTP configuration (no restart or env changes)
βœ… Supports multiple pages β€” e.g. Google & DigitalOcean mailers
βœ… Clean, responsive Bootstrap UI with sidebar navigation
βœ… Uses SQLite database for lightweight setup
βœ… Open source & ready to extend


πŸ› οΈ Installation

1️⃣ Clone the repository

git clone https://github.com/yourusername/mailbridge.git
cd mailbridge

2️⃣ Install dependencies

composer install
npm install && npm run build

3️⃣ Environment setup

Copy the example .env file and configure your app:

cp .env.example .env

Inside .env, use SQLite for simplicity:

DB_CONNECTION=sqlite
DB_DATABASE=/absolute/path/to/database.sqlite

Then create the database file:

touch database/database.sqlite

4️⃣ Run migrations (optional if needed)

php artisan migrate

5️⃣ Start the development server

php artisan serve

Access the app at http://localhost:8000


πŸ’‘ Usage

  1. Navigate to either Google Mail or DigitalOcean Mail from the sidebar.

  2. Fill in your SMTP settings:

    • SMTP Host (e.g., smtp.gmail.com)
    • SMTP Port (e.g., 587)
    • SMTP User (your email)
    • SMTP Password (app password or token)
    • Encryption (tls, ssl, or none)
    • From Email / Name
  3. Add recipient, subject, message, and optional attachment.

  4. Hit Send Mail β€” your email will be sent instantly with the selected SMTP settings!


πŸ“‚ Folder Structure

app/
 β”œβ”€β”€ Http/Livewire/
 β”‚    β”œβ”€β”€ GoogleMail.php
 β”‚    └── DigitalOceanMail.php
 β”œβ”€β”€ Mail/
 β”‚    └── GenericMail.php
resources/
 β”œβ”€β”€ views/
 β”‚    β”œβ”€β”€ layouts/app.blade.php
 β”‚    β”œβ”€β”€ livewire/
 β”‚    β”‚    β”œβ”€β”€ google-mail.blade.php
 β”‚    β”‚    └── digitalocean-mail.blade.php
 β”‚    └── emails/generic.blade.php

🧩 Tech Stack

  • Laravel 11
  • Livewire 3
  • Bootstrap 5
  • SQLite
  • PHP 8.2+

πŸ“¦ Future Enhancements

  • Save SMTP profiles in database
  • Support for multiple recipients / CC / BCC
  • Mail sending history
  • Dark mode UI
  • API for external integrations

πŸ§‘β€πŸ’» Contributing

Contributions are welcome! Fork the repo, create a feature branch, and open a pull request.


πŸ“œ License

This project is licensed under the MIT License β€” free to use and modify.


🌐 Author

[Alfred Nti] πŸ™ GitHub: @freddyWhest

About

A modern Laravel + Livewire application to send emails with attachments using dynamic SMTP settings.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages