Ir al contenido

Laravel

El mailer SMTP de Laravel funciona con SpacePost sin necesidad de paquetes.

.env
MAIL_MAILER=smtp
MAIL_SCHEME=smtp
MAIL_HOST=smtp.spacepost.dev
MAIL_PORT=25976
MAIL_USERNAME=spacepost
MAIL_PASSWORD=sp_live_YOUR_API_KEY
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="hello@acme.com"
MAIL_FROM_NAME="Acme"

Laravel 11 y posteriores leen MAIL_SCHEME=smtp y actualizan la conexión con STARTTLS; Laravel 10 y anteriores leen MAIL_ENCRYPTION=tls. Si mantienes ambas líneas, funciona en todas las versiones. No uses smtps ni ssl: todavía no se ofrece TLS implícito (puerto 465).

Envía como de costumbre:

use Illuminate\Support\Facades\Mail;
use App\Mail\OrderShipped;
Mail::to($user)->send(new OrderShipped($order));

Añade los encabezados de control de SpacePost en tu Mailable:

use Illuminate\Mail\Mailables\Headers;
public function headers(): Headers
{
return new Headers(text: [
'X-SpacePost-Tags' => 'category=order, order_id=' . $this->order->id,
]);
}

Los Mailables enviados con Mail::queue() funcionan con normalidad; el worker de la cola habla con SpacePost por SMTP. Mantén el número de workers concurrentes dentro del límite de tasa.