Skip to main content
Votre application Laravel garde ses Mailable et ses Mail::to(...)->send(...). Le transport les remet à l’API transactionnelle de Lekalao, qui les envoie avec le fournisseur choisi et les garde dans son journal : livraisons, rebonds, ouvertures, clics.

Installer

Le paquet lekalao/laravel-transport est livré avec Lekalao, dans packages/laravel-transport. Laravel 11, 12 ou 13, PHP 8.2 ou plus. Depuis l’application qui envoie, déclarez le dépôt puis installez :
composer.json
Le fournisseur de services est découvert tout seul. Si l’application est sur une autre machine, copiez le dossier dans le dépôt de l’application ou publiez-le sur votre dépôt Composer privé.

Configurer

Créez un jeton Lecture et écriture dans Lekalao, puis dans config/mail.php :
config/mail.php
.env
La clé s’appelle endpoint, pas url : Laravel lit la clé url d’un mailer comme une adresse de connexion SMTP.
Pour n’utiliser Lekalao que pour certains e-mails, laissez votre MAIL_MAILER et choisissez au cas par cas :

Ce qui passe

L’identifiant de l’e-mail dans Lekalao devient le Message-ID du message envoyé, ce qui permet de le retrouver dans le journal.

Choisir le fournisseur d’envoi

Ajoutez l’en-tête X-Lekalao-Mailer avec le nom d’un fournisseur configuré dans Lekalao :

Erreurs

Un refus de Lekalao (expéditeur non autorisé, jeton révoqué, fournisseur en échec) remonte comme une Symfony\Component\Mailer\Exception\TransportException qui porte le code HTTP et la raison. Envoyez vos e-mails en file (ShouldQueue) pour que Laravel réessaie tout seul. Le délai d’attente est de 15 secondes.