For PHP Developers

Transactional email that feels like Laravel.

An elegant API that integrates seamlessly with your codebase, plus a visual editor that lets your team update emails without pinging you.

composer require lettr/lettr-php

Works with Node/Bun too

src/UserController.php
use Lettr\Lettr;

$lettr = Lettr::client($apiKey);

$response = $lettr->emails()->send(
    $lettr->emails()->create()
        ->from('hello@yourapp.com', 'Your App')
        ->to([$user->email])
        ->subject('Welcome to Your App')
        ->html($html)
);

Set it up once. Never be the bottleneck again.

The visual editor isn't just for marketers — it's a developer benefit. Let your team iterate on emails while you ship features.

Developer
// Send using a template
$lettr->emails()->sendTemplate(
    from: 'hello@yourapp.com',
    to: $user->email,
    templateSlug: 'order-confirmation',
    substitutionData: [
        'name' => $user->name,
    ],
);

Define templates in code. Version controlled. Type-safe.

Your Team
Your order is confirmed!
Hi {{ name }}, thanks for your order.
View Order

Your team edits copy and design. No deploys needed.

Write onceEdit forever

Built for developers

Fluent Builder API

Chainable methods for building emails. Clean, readable, intuitive.

Template Support

Send using pre-built templates with substitution data for personalization.

Attachments Made Easy

Attach files by path or raw data. PDF, CSV, images - all supported.

Event Tracking

Track opens, clicks, bounces, and deliveries. Full visibility.

Type-Safe with IDE Support

Full autocomplete and type hints. Catch errors before runtime.

Click & Open Tracking

Built-in tracking methods. Enable with a single method call.

Works for the whole team

Visual Editor for Non-Devs

Marketing and ops can update copy without touching code or asking for deploys.

Version Control & Rollback

Every change is tracked. Roll back to any previous version instantly.

Multi-Language Support

Manage translations in one place. Automatic locale detection.

Code that flows like conversation

Every method returns the builder. Chain as many as you need. The API disappears, leaving only your intent.

OrderController.php
$lettr->emails()->send(
$lettr->emails()->create()
->from('hello@yourapp.com')
->to([$user->email])
->subject('Your order shipped!')
->html($template)
->withClickTracking()
);
Fluent API·Chain methods naturally
Full Tracking·Opens, clicks, bounces
Templates·Reusable email designs

Get started in minutes

Four steps to sending your first email. No complicated setup.

01

Install

composer require lettr/lettr-php
02

Initialize the client

use Lettr\Lettr;

$lettr = Lettr::client($apiKey);
03

Build your email

$email = $lettr->emails()->create()
    ->from('hello@yourapp.com', 'Your App')
    ->to([$user->email])
    ->subject('Welcome!')
    ->html($html);
04

Send it

$response = $lettr->emails()->send($email);

echo $response->requestId;

Simple, transparent pricing

Start free, scale as you grow. No surprise fees.

Monthly email volume
50K emails
3K10K50K100K250K500K1M2.5M5M+

Free

For side projects and testing.

$0/mo
3,000 emails/mo
Get started
Best for 50K emails

Pro

For growing applications.

$29/mo
50K emails/mo
Extra: $0.40 / 1,000
Start free trial

Scale

For high-volume senders.

$99/mo
100K emails/mo
Extra: $0.25 / 1,000
Start free trial

Enterprise

For your specific needs.

Custom
Unlimited emails
Extra: Volume discounts
Contact sales

Your team's last email headache.

Stop building email infrastructure. Start shipping features. Get your API key and send your first email in minutes.