jeffreyvanrossum / wp-mail
Fluent API for sending emails.
Installs: 14
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/jeffreyvanrossum/wp-mail
Requires
- php: ^8.0|^8.1|^8.2
- jeffreyvanrossum/wp-views: ^0.1.0
Requires (Dev)
- laravel/pint: ^1.4
- spatie/ray: ^1.36
README
WP Mail
For those wanting to send good looking WordPress emails with a fluent API.
Installation
composer require jeffreyvanrossum/wp-mail
Usage
You can either build your email using the builder pattern or you can use a view.
use Jeffreyvr\WPMail\Mail; Mail::make() ->to('jane@doe.com') ->subject('Hello') ->line(text: 'Hello there') ->button(text: 'Click me', url: 'https://vanrossum.dev') ->line(text: 'Kind regards, Jeffrey') ->send();
Available Methods
- subject(string $subject)- Set the email subject
- preview(string $preview)- Set the preview text
- to(string $email, string $name = '')- Add recipient
- cc(string $email, string $name = '')- Add CC recipient
- bcc(string $email, string $name = '')- Add BCC recipient
- from(string $email, string $name = '')- Set sender information
- line(string|callable $text)- Add a text line to the email
- button(string $text, string $url)- Add a call-to-action button
- view(string $path, array $data = [])- Use a view template
- plainText(string|callable $plainText)- Set the plain text version of the email
- unsubscribeUrl(string $unsubscribeUrl)- Set the unsubscribe URL
- unsubscribeText(string $unsubscribeText)- Set the unsubscribe text
- send()- Send the email
In the view you can use $mail to access the mail object.
Want to schedule emails as a background job?
Take a look at wp-job-scheduler. Simply create a job and add the mail sending logic to the handle method.
Credits
Contributors
License
MIT. Please see the License File for more information.
