SMTP pour Laravel — le courrier de votre application qui arrive
Laravel intègre une couche mail complète, avec files d'attente, modèles et notifications. Ce qu'il ne fournit pas, c'est la délivrabilité : elle dépend du serveur par lequel vous envoyez, et la configuration par défaut d'un serveur neuf fait rarement un bon expéditeur.
Laravel lit ses paramètres mail dans la configuration d'environnement. Vous y modifiez les données SMTP et le reste de votre application demeure inchangé — aucune adaptation des mailables, notifications ou files d'attente n'est nécessaire.
Pourquoi cela coince sans relais
Une application en développement envoie vers une adresse de test et tout semble correct. À la mise en production, le public change : de vraies adresses chez de vrais fournisseurs, qui contrôlent bel et bien l'authentification et la réputation. C'est le moment où les e-mails de réinitialisation cessent soudain d'arriver — chez une partie des utilisateurs seulement, ce qui rend le problème difficile à repérer.
Configurer le SMTP dans Laravel
Récupérer les données
Connectez-vous à votre compte 2mail et récupérez-y votre serveur SMTP, votre nom d'utilisateur et votre mot de passe.
Compléter dans Laravel
Les paramètres mail se trouvent dans le fichier d'environnement de votre application, pas dans le code. Vous réglez le mailer sur SMTP et renseignez les cinq données ci-dessous. N'oubliez pas l'adresse et le nom de l'expéditeur : ce sont des réglages distincts, à côté des données de connexion.
Authentifier le domaine
Veillez à ce que SPF, DKIM et DMARC soient correctement configurés pour votre domaine, afin que les destinataires puissent vérifier que le courrier vient bien de vous.
Tester
Envoyez un message de test vers une adresse chez un grand fournisseur et vérifiez qu'il arrive dans la boîte de réception et non dans les indésirables.
Les champs que Laravel demande
Chaque plateforme les nomme un peu différemment, mais il s'agit toujours des mêmes cinq champs. Les valeurs concrètes sont liées à votre compte et se trouvent dans votre compte 2mail — relevez-les à cet endroit, afin d'être certain d'utiliser les bonnes.
| Champ | Ce que vous indiquez |
|---|---|
| Serveur SMTP (host) | Le nom de serveur figurant dans votre compte 2mail. |
| Port | Le port correspondant au chiffrement que vous avez choisi ; votre compte indique lequel. |
| Chiffrement | TLS. N'envoyez jamais sans chiffrement — vos identifiants circuleraient sinon en clair sur le réseau. |
| Nom d'utilisateur | L'identifiant SMTP de votre compte 2mail. |
| Mot de passe | Le mot de passe correspondant. N'utilisez jamais le mot de passe de la boîte aux lettres d'un collaborateur. |
Les e-mails que Laravel envoie
Dès que le relais est configuré, tous ces messages passent par 2mail — vous ne devez pas les configurer un par un.
Pièges avec Laravel
La file d'attente doit tourner
Si vous placez le courrier en file sans traitement actif, rien ne part et vous ne voyez aucune erreur. En cas de problème de livraison, ce devrait être la première vérification, pas la dernière.
Le cache de configuration après une modification
Si votre application tourne avec une configuration mise en cache, les paramètres mail modifiés restent sans effet tant que ce cache n'est pas rafraîchi. Un réglage qui « ne fonctionne pas » n'est souvent tout simplement pas encore relu.
Des environnements de test qui envoient vraiment
Un environnement de staging avec une copie de la base de production peut envoyer à de vrais clients sans qu'on s'en aperçoive. Limitez-y explicitement les destinataires, ou utilisez un identifiant distinct.
Une autre plateforme ?
SMTP est un protocole standard : tout système qui parle SMTP — un CRM, un ERP, une application maison ou un serveur — peut envoyer via 2mail avec les mêmes cinq champs.