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 (respetaRetry-After). - Prefiere
templateKeysobre HTML inline para mantener el contenido versionado. - Maneja los errores por el campo
error.codede la respuesta — ver Errores. - Envía desde un dominio verificado — ver Dominios.