1. Go to this page and download the library: Download ez-php/mail library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
ez-php / mail example snippets
use EzPhp\Mail\MailServiceProvider;
$app->register(MailServiceProvider::class);
use EzPhp\Mail\Mail;
use EzPhp\Mail\Mailable;
Mail::send(
(new Mailable())
->to('[email protected]', 'Alice')
->subject('Welcome!')
->text('Hello Alice, welcome aboard.')
->html('<p>Hello Alice, <strong>welcome aboard.</strong></p>')
);
// Inline
$mail = (new Mailable())
->to('[email protected]', 'Bob')
->from('[email protected]', 'My App') // overrides driver default
->subject('Your Invoice')
->text('Please find your invoice attached.')
->html('<p>Please find your invoice <strong>attached</strong>.</p>')
->attach('/path/to/invoice.pdf', 'Invoice-2026-01.pdf');
// Extended
class InvoiceMail extends Mailable
{
public function __construct(User $user, string $invoicePath)
{
$this->to($user->email, $user->name)
->subject('Your Invoice')
->text('Please find your invoice attached.')
->attach($invoicePath);
}
}
use EzPhp\Mail\Mail;
use EzPhp\Mail\Mailable;
use EzPhp\Mail\MailerInterface;
// Arrange
$spy = new class implements MailerInterface {
public array $sent = [];
public function send(Mailable $mailable): void { $this->sent[] = $mailable; }
};
Mail::setMailer($spy);
// Act
Mail::send((new Mailable())->to('[email protected]')->subject('Hi')->text('body'));
// Assert
assert(count($spy->sent) === 1);
// Teardown
Mail::resetMailer();
use EzPhp\Contracts\JobInterface;
use EzPhp\Mail\Mail;
use EzPhp\Mail\Mailable;
final class SendMailJob implements JobInterface
{
public function __construct(private readonly Mailable $mailable) {}
public function handle(): void
{
Mail::send($this->mailable);
}
}
// Dispatch from a controller or service
$queue->push(new SendMailJob(
(new Mailable())
->to($user->email, $user->name)
->subject('Welcome!')
->text('Hello, welcome aboard.')
));
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.