Search by

microweber-packages / microweber-mail-sender

boksiora

Standalone Laravel package for sending email via configurable transports (SMTP, PHP mail, Gmail, cPanel, Plesk). Reusable in any Laravel app. Extracted from Microweber CMS MailSender.

Package info

github.com/microweber-packages/microweber-mail-sender

Homepage

pkg:composer/microweber-packages/microweber-mail-sender

Statistics

Installs: 43

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-11-03 11:41 UTC

This package is auto-updated.

Last update: 2026-11-03 17:07:00 UTC


README

Standalone Laravel package for sending transactional email via configurable transports (SMTP, PHP mail(), Gmail, cPanel, Plesk). Extracted from the Microweber CMS MailSender so it can be reused in any Laravel application.

Install

composer require microweber-packages/microweber-mail-sender

Register the service provider (or rely on CoreServiceProvider / auto-discovery):

$app->register(\MicroweberPackages\MailSender\MailSenderServiceProvider::class);

Publish config and views:

php artisan vendor:publish --tag=mail-sender-config
php artisan vendor:publish --tag=mail-sender-views

Usage

Config is applied once on boot from config/mail-sender.php (or env vars). Do not call a per-instance configMailDriver() — that API is removed.

use MicroweberPackages\MailSender\Facades\MailSender;
// or
use MicroweberPackages\MailSender\Services\MailSenderService;

$ok = MailSender::send(
    to: 'user@example.com',
    subject: 'Hello',
    message: '<p>Welcome!</p>',
);

// Fluent setters (compatible with the old CMS API)
$sender = app(MailSenderService::class);
$sender->setEmailTo('user@example.com')
    ->setEmailSubject('Hello')
    ->setEmailMessage('<p>Welcome!</p>')
    ->setEmailFrom('noreply@example.com')
    ->setEmailFromName('Example')
    ->send();

Config

See config/mail-sender.php. Key options:

Key Description
transport smtp, php, gmail, cpanel, plesk, config, log, array
from.address / from.name Global From header
smtp.* Host, port, username, password, encryption
hostname Optional [hostname] subject prefix
view Blade view for the simple HTML body

Filament

$panel->plugin(\MicroweberPackages\MailSender\Filament\MailSenderPlugin::make());

Tests

composer test
# or from monorepo root:
php artisan test --testsuite=MicroweberMailSender
php artisan dusk --filter=MailSender

PHPStan

composer analyse -- packages/microweber-mail-sender/src
# package-local:
cd packages/microweber-mail-sender && composer analyse