Fluent API for sending emails.

0.1.1 2025-07-17 12:50 UTC

This package is auto-updated.

Last update: 2025-07-17 12:50:27 UTC


README

vanrossum.dev Logo

Total Downloads Latest Stable Version License

WP Mail

For those wanting to send good looking WordPress emails with a fluent API.

Example

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
  • 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.