https://github.com/buibr/laramic-mailer
Dynamic mailing system for laravel application
https://github.com/buibr/laramic-mailer
Last synced: over 1 year ago
JSON representation
Dynamic mailing system for laravel application
- Host: GitHub
- URL: https://github.com/buibr/laramic-mailer
- Owner: buibr
- License: gpl-3.0
- Created: 2024-09-09T15:41:48.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-09T16:22:07.000Z (almost 2 years ago)
- Last Synced: 2025-02-09T12:28:45.217Z (over 1 year ago)
- Language: PHP
- Size: 37.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
README
Laramic Mailer is a Laravel plugin that allows dynamic email configuration based on database-stored settings. This package makes it easy to manage multiple mail configurations and send emails without hardcoding your email settings in .env files.
## Features
- Dynamic Mail Configuration: Fetch mail settings from the database and apply them on the fly.
- Seamless Integration: Easily integrates with Laravel's native mail functionality.
- Multi-Mailer Support: Supports multiple mailers for different use cases.
- Flexible Setup: Define your own mailer configurations in the database, including SMTP host, port, encryption, and more.
- Configurable Sender Info: Dynamically configure "From" name and address for each mail.
- Extensible: Customize how mail configurations are stored and retrieved.
## Installation
#### Step 1: Install via Composer
To install the package, run the following command:
```Bash
composer require buibr/laramic-mailer
```
#### Step 2: Publish Configuration and Migration
After installation, publish the configuration and migration files:
```Bash
php artisan vendor:publish --tag=laramic-mailer-config
php artisan migrate
```
#### Usage
Add your mail configurations directly in the database (SMTP host, port, encryption, etc.).
When sending emails, the plugin will fetch the necessary mailer configuration from the database and apply it on the fly.
You can define and manage multiple mailers for different purposes, all stored in the database.
Example to use of Dynami MailServer server and laramic with defualt laravel functionality:
```php
// from
Mail::to($request->user())->send(new OrderShipped($order));
// to
Laramic::use($ticketCommunication->mailServer)
->to($request->user())
->send(new InvoiceEmail(Invoice $invoice));
```
All other laravel Mail or MailManager methods as parent layer of Laramic can be used normaly. See: https://laravel.com/docs/11.x/mail[url](https://laravel.com/docs/11.x/mail)]
#### Testing
```php