Salta ai contenuti

Laravel

Il mailer SMTP di Laravel funziona con SpacePost senza bisogno di pacchetti.

.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 e successivi leggono MAIL_SCHEME=smtp e passano a TLS con STARTTLS; Laravel 10 e precedenti leggono MAIL_ENCRYPTION=tls. Tenere entrambe le righe funziona su ogni versione. Non usare smtps o ssl: il TLS implicito (porta 465) non è ancora disponibile.

Invia come al solito:

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

Aggiungi gli header di controllo di SpacePost nella tua Mailable:

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

Le Mailable inviate con Mail::queue() funzionano normalmente; il worker della coda comunica con SpacePost via SMTP. Mantieni il numero di worker concorrenti entro il limite di frequenza.