kinetis/mailer

Non-blocking mail sending for Kinetis — Symfony\Component\Mailer over any DSN-selected transport, with API-based transports going through kinetis/revolt-http-client instead of blocking.

Maintainers

Package info

github.com/kinetis-dev/mailer

pkg:composer/kinetis/mailer

Transparency log

Statistics

Installs: 4

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.3 2026-08-16 08:57 UTC

This package is auto-updated.

Last update: 2026-08-16 08:57:30 UTC


README

Kinetis

kinetis/mailer
Mail sending for Kinetis, via Symfony\Component\Mailer

Packagist Version Packagist Downloads PHP Version License CI

A single DSN selects the transport — SMTP, or any of Symfony's own API-based bridges (Sendgrid, Mailgun, Postmark, SES, ...). API-based transports run through kinetis/revolt-http-client instead of blocking.

use Kinetis\Mailer\MailerFactory;
use Symfony\Component\Mime\Email;

$mailer = MailerFactory::fromConfig($config);

$email = (new Email())
    ->from('noreply@example.com')
    ->to('user@example.com')
    ->subject('Welcome!')
    ->text('Thanks for signing up.');

$mailer->send($email);

Configuration

MAILER_DSN=smtp://user:pass@smtp.example.com:587
Key Default Purpose
MAILER_DSN (required) Symfony Mailer transport DSN.

Scoped — MAILER_DSN + alertsMAILER_ALERTS_DSN. Full reference: docs.kinetis.dev/config.html.

Or an API-based transport instead — install the matching Symfony bridge package too (symfony/sendgrid-mailer, symfony/mailgun-mailer, ...):

MAILER_DSN=sendgrid+api://KEY@default

SMTP is not non-blocking — it opens a raw socket directly, with no Fiber-yield point. Send mail from a kinetis/queue job (constructor-inject Symfony\Component\Mailer\MailerInterface in handle() — no extra code needed in either package) if that matters for your app.

Installation

composer require kinetis/mailer

Requires PHP 8.4+, kinetis/framework, and kinetis/revolt-http-client. Full documentation: docs.kinetis.dev/mailer.html.

License

MIT — see LICENSE.