Cómo enviar correos con Laravel

Usa el HTTP Client de Laravel (facade `Http`) para llamar a la API de Publiq — sin SDK. Define `PUBLIQ_API_KEY` en `.env`.

Llamada directa con el facade Http:

<?php
use Illuminate\Support\Facades\Http;

$response = Http::withToken(env('PUBLIQ_API_KEY'))
    ->post('https://api.publiq.digital/v1/emails', [
        'from' => 'you@yourdomain.com',
        'to' => $user->email,
        'templateKey' => 'welcome-email',
        'variables' => ['first_name' => $user->name],
    ]);

return $response->json();

Encapsúlalo en una clase de servicio (app/Services/Publiq.php) e inyéctalo donde necesites, manteniendo la llamada en un solo lugar.

Buenas prácticas

  • Llama a Publiq siempre desde el servidor — la API key va en el header Authorization, nunca en el cliente.
  • En 429/5xx, reintenta con backoff exponencial (respeta Retry-After).
  • Prefiere templateKey sobre HTML inline para mantener el contenido versionado.
  • Maneja los errores por el campo error.code de la respuesta — ver Errores.
  • Envía desde un dominio verificado — ver Dominios.

Ver también

Cómo enviar correos con Laravel — Publiq Docs