Pular para o conteúdo

Laravel

O mailer SMTP do Laravel funciona com o SpacePost sem nenhum pacote.

.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"

O Laravel 11 e posteriores leem MAIL_SCHEME=smtp e fazem o upgrade da conexão com STARTTLS; o Laravel 10 e anteriores leem MAIL_ENCRYPTION=tls. Manter as duas linhas funciona em todas as versões. Não use smtps nem ssl: o TLS implícito (porta 465) ainda não é oferecido.

Envie como de costume:

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

Adicione os cabeçalhos de controle do SpacePost na sua Mailable:

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

As Mailables enviadas com Mail::queue() funcionam normalmente; o worker da fila fala com o SpacePost por SMTP. Mantenha o número de workers simultâneos dentro do limite de taxa.