btekno / mail
Encrypted, file-based Laravel mail settings with a single Livewire component.
1.00
2026-07-28 12:53 UTC
Requires
- php: ^8.2
- aws/aws-sdk-php: ^3.0
- illuminate/auth: ^11.0|^12.0|^13.0
- illuminate/contracts: ^11.0|^12.0|^13.0
- illuminate/encryption: ^11.0|^12.0|^13.0
- illuminate/filesystem: ^11.0|^12.0|^13.0
- illuminate/mail: ^11.0|^12.0|^13.0
- illuminate/support: ^11.0|^12.0|^13.0
- illuminate/translation: ^11.0|^12.0|^13.0
- illuminate/validation: ^11.0|^12.0|^13.0
- livewire/livewire: ^3.6|^4.0
- psr/log: ^1.1|^2.0|^3.0
- resend/resend-php: ^1.0
- symfony/http-client: ^7.0|^8.0
- symfony/mailgun-mailer: ^7.0|^8.0
- symfony/postmark-mailer: ^7.0|^8.0
Requires (Dev)
- orchestra/testbench: ^9.0|^10.0|^11.0
- phpunit/phpunit: ^11.0|^12.0
README
Mail driver settings for Laravel and Livewire.
Install
composer require btekno/mail php artisan optimize:clear
Component
<livewire:btekno::mail />
With btekno/platform, the page appears automatically under admin settings.
Drivers
- SMTP
- Sendmail
- Amazon SES
- Mailgun
- Postmark
- Resend
- Log
- Array
Storage
Settings are encrypted at:
storage/app/private/.btekno/emails.json
Usage
The selected mailer becomes Laravel's default when the option is enabled.
Mail::to('user@example.com')->send(new InvoiceReady());
Use the package mailer explicitly:
Mail::mailer('btekno')->to('user@example.com')->send(new InvoiceReady());
The initial driver is log.
Access
The component requires authentication by default.
BTEKNO_MAIL_GATE=manage-email-settings
Publish
php artisan vendor:publish --tag=btekno-mail-config php artisan vendor:publish --tag=btekno-mail-views php artisan vendor:publish --tag=btekno-mail-translations
Config path:
config/btekno/mail.php
Restart queue or Octane workers after changing drivers.