WP Mail
For those wanting to send good looking WordPress emails with a fluent API.
Installation
composer require jeffreyvanrossum/wp-mailUsage
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 subjectpreview(string $preview)- Set the preview textto(string $email, string $name = '')- Add recipientcc(string $email, string $name = '')- Add CC recipientbcc(string $email, string $name = '')- Add BCC recipientfrom(string $email, string $name = '')- Set sender informationline(string|callable $text)- Add a text line to the emailbutton(string $text, string $url)- Add a call-to-action buttonview(string $path, array $data = [])- Use a view templateplainText(string|callable $plainText)- Set the plain text version of the emailunsubscribeUrl(string $unsubscribeUrl)- Set the unsubscribe URLunsubscribeText(string $unsubscribeText)- Set the unsubscribe textsend()- 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.
On this page
Languages
PHP100.0%
Contributors
MIT License
Created July 17, 2025
Updated December 1, 2025
