nixphp/mail

NixPHP Mail Plugin for quick email communication.

Maintainers

Details

github.com/nixphp/mail

Source

Issues

Installs: 1

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Type:nixphp-plugin

pkg:composer/nixphp/mail

v0.1.0 2025-12-03 21:58 UTC

This package is auto-updated.

Last update: 2025-12-04 21:47:03 UTC


README

Logo

NixPHP Mailer Plugin

← Back to NixPHP

nixphp/mail

A lightweight, extensible mailer system for NixPHP – with full transport abstraction and attachment support.

This plugin provides a clean interface for sending emails in your NixPHP application. It includes a default MailTransport that uses PHP’s built-in mail() function, but can easily be swapped for SMTP, API-based services, or other custom transports.

🧩 Part of the official NixPHP plugin collection. Install it if you need flexible, framework-integrated email handling.

📦 Features

  • ✅ Compose and send emails with fluent API
  • ✅ Supports To, Cc, Bcc, Reply-To, and Attachments
  • ✅ Sends HTML or plain text
  • ✅ Fully transport-driven, extend, or swap backend logic
  • ✅ Ships with default MailTransport using native PHP mail()

📥 Installation

composer require nixphp/mail

🚀 Usage

📤 Basic mail sending

$mail = mail()
    ->setFrom('hello@example.com')
    ->addTo('john@example.com')
    ->setSubject('Hello from NixPHP')
    ->setContent('<b>Welcome!</b>', true);

mailer()->send($mail);

📎 Add attachments

$mail = mail()
    ->setFrom('info@example.com')
    ->addTo('client@example.com')
    ->setSubject('Monthly Report')
    ->addAttachment('report.pdf', '/path/to/report.pdf')

mailer()->send($mail);

You can also attach images inline and reference them via cid::

->addAttachment('logo.png', '/path/to/logo.png', true)
->setContent('<img src="cid:logo.png">')

🔄 Use a custom transport

To swap out the default MailTransport, inject your own:

use NixPHP\Mail\Mailer;
use App\Mail\MyCustomTransport;

$mailer = new Mailer(new MyCustomTransport());
$mail   = mail()->addTo('john@example.com');
$mailer->send($mail);

Your transport must implement:

NixPHP\Mail\Core\TransportInterface

✅ Requirements

  • nixphp/framework >= 0.1.0
  • PHP >= 8.3

📄 License

MIT License.