Como enviar e-mails com PHP

Não há SDK PHP oficial — chame a API REST do Publiq com Guzzle (ou cURL). Envie a partir do servidor com a API key no header.

Com o Guzzle (composer require guzzlehttp/guzzle):

<?php
use GuzzleHttp\Client;

$client = new Client();
$res = $client->post('https://api.publiq.digital/v1/emails', [
    'headers' => ['Authorization' => 'Bearer ' . getenv('PUBLIQ_API_KEY')],
    'json' => [
        'from' => 'you@yourdomain.com',
        'to' => 'user@example.com',
        'templateKey' => 'welcome-email',
        'variables' => ['first_name' => 'Ana'],
    ],
]);

$email = json_decode($res->getBody(), true);
echo $email['id'];

Boas práticas

  • Chame o Publiq sempre do servidor — a API key vai no header Authorization, nunca no cliente.
  • Em 429/5xx, retente com backoff exponencial (respeite Retry-After).
  • Prefira templateKey a HTML inline para manter o conteúdo versionado.
  • Trate os erros pelo campo error.code da resposta — veja Erros.
  • Envie de um domínio verificado — veja Domínios.

Veja também

Como enviar e-mails com PHP — Publiq Docs