Ranla with Symfony Mailer

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

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

1. Install

composer require supersendtx/symfony-mailer
export RANLA_API_KEY=rnl_your_key_here

2. Send with Mailer

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

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

$email = (new Email())
    ->from('[email protected]')
    ->to('[email protected]')
    ->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(RANLA_API_KEY)%@default'

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

Headers

Set Ranla 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