SuperSend TX with Symfony Mailer

Use supersendtx/symfony-mailer for a first-class Symfony Mailer transport over the SuperSend TX HTTP API.

For Laravel apps, prefer supersendtx/laravel — it uses this transport under the hood.

1. Install

composer require supersendtx/symfony-mailer
export SUPERSENDTX_API_KEY=stx_your_key_here

2. Send with Mailer

use SuperSendTX\Client;
use SuperSendTX\Symfony\Transport\SuperSendTXTransport;
use Symfony\Component\Mailer\Mailer;
use Symfony\Component\Mime\Email;

$mailer = new Mailer(new SuperSendTXTransport(new Client(getenv('SUPERSENDTX_API_KEY'))));

$email = (new Email())
    ->from('noreply@yourdomain.com')
    ->to('user@example.com')
    ->subject('Your receipt')
    ->html('<p>Thanks for your purchase.</p>')
    ->text('Thanks for your purchase.');

$mailer->send($email);

3. Framework DSN

Register the factory as a mailer.transport_factory service, then:

# config/packages/mailer.yaml
framework:
  mailer:
    dsn: 'supersendtx+api://%env(SUPERSENDTX_API_KEY)%@default'

Supported schemes: supersendtx, supersendtx+api. Optional query: ?base_url=https://api.supersendtx.com.

Headers

Set SuperSend TX headers on the Symfony message:

$email->getHeaders()->addTextHeader('X-SuperSendTX-Tag', 'product=symfony');
$email->getHeaders()->addTextHeader('X-SuperSendTX-Idempotency-Key', 'receipt-123');
Header Purpose
X-SuperSendTX-Tag name=value (repeatable)
X-SuperSendTX-Idempotency-Key Idempotency key
X-SuperSendTX-Scheduled-At ISO 8601 schedule

Direct PHP SDK

If you don't need Symfony Mailer, use the PHP SDK directly.

Source

Super-Send/supersendtx-symfony-mailer