spatie / laravel-mailcoach-mailer
The driver for sending transactional mails using Mailcoach in Laravel
Package info
github.com/spatie/laravel-mailcoach-mailer
pkg:composer/spatie/laravel-mailcoach-mailer
Requires
- php: ^8.4
- illuminate/contracts: ^12.0|^13.0
- spatie/laravel-package-tools: ^1.13.7
- spatie/mailcoach-mailer: ^1.4
Requires (Dev)
- laravel/pint: ^1.2.1
- orchestra/testbench: ^10.0|^11.0
- pestphp/pest: ^4.4
- pestphp/pest-plugin-laravel: ^4.1
- phpstan/extension-installer: ^1.2
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- spatie/invade: ^2.1
- spatie/laravel-ray: ^1.31
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Mailcoach is an affordable platform for all things mail. It can send campaigns to list of any size. It also provides flexible email automation to set up drip campaigns and more.
Finally, you can also use Mailcoach to send transactional mails. This package contains a driver so you can send any mailable through Mailcoach.
// will be sent through mailcoach Mail::to('john@example.com')->send(new OrderShippedMail());
On mailcoach.app, you can see an archive of sent mails.
If you activated the feature, you can also see the opens and clicks of all transactional mails. It's also possible to resend any transactional mails straight from the Mailcoach UI.
Additionally, you'll also be able to create email templates on Mailcoach and use those templates in your app. This is great for marketeers without technical knowledge. They can now write mails without a developer needing to make any code changes.
This is how you would send a mail using a Mailcoach template.
public function build() { $this ->mailcoachMail('name-of-your-mailcoach-template') ->replacing(['placeholderName' => 'placeHolderValue']); }
If you want to send a mail notification using a mailcoach template, you can do that in the following way.
public function toMail() { return (new MailCoachMessage()) ->usingMail('name-of-your-mailcoach-template') ->replacing(['placeholderName' => 'placeHolderValue']); }
Support us
We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.
Documentation
You'll find full documentation on this page of the Mailcoach docs.
Custom API base URL
By default, mails are sent to https://{domain}/api/transactional-mails/send. For self-hosted installations, you can send them to another base URL, for example an internal service over HTTP, by adding the optional api_base_url key to your mailer config:
// config/mail.php 'mailcoach' => [ 'transport' => 'mailcoach', 'domain' => env('MAILCOACH_DOMAIN'), 'token' => env('MAILCOACH_API_TOKEN'), 'api_base_url' => env('MAILCOACH_API_BASE_URL'), ],
Set MAILCOACH_API_BASE_URL to an absolute HTTP or HTTPS URL, such as http://mailcoach-service:8080 or https://internal.example.com/mailcoach. A port and path prefix are optional. Do not include /api/transactional-mails/send, a query string, or a fragment: the transport appends the endpoint itself and removes trailing slashes.
The override takes precedence over domain, but domain and token remain required config keys. Omitting api_base_url, or setting it to null or an empty string, keeps the default HTTPS URL based on domain.
Only use HTTP on a trusted network: the token and mail content are sent without TLS encryption.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.
