Configurer la livraison des e-mails

L'e-mail est le moyen par lequel KolleK atteint les personnes en dehors d'une session de navigateur : les invitations, les liens magiques, les réinitialisations de mot de passe, la vérification d'e-mail et les alertes de sécurité arrivent tous par e-mail. Tant que vous n'avez pas configuré la livraison, aucun d'entre eux ne va nulle part.

Le comportement par défaut n'envoie rien

Une instance fraîchement installée est livrée avec MAIL_MAILER=log. Chaque e-mail est écrit dans le fichier de journal de l'application au lieu d'être envoyé. C'est délibéré : cela signifie qu'une instance à moitié configurée n'envoie jamais silencieusement du courrier depuis une mauvaise adresse, et vous pouvez lire exactement ce qui aurait été envoyé pendant les tests.

Note

Si quelqu'un dit « je n'ai jamais reçu l'invitation » sur une instance récente, ce comportement par défaut en est presque toujours la cause. L'e-mail existe, dans le fichier de journal. Voyez Dépannage de la livraison des emails.

Vous disposez de deux méthodes prises en charge pour envoyer de vrais e-mails : n'importe quel serveur SMTP, ou le service Resend.

Option 1 : SMTP

1
Définissez le mailer et les détails du serveur

Dans .env, définissez :

MAIL_MAILER=smtp
MAIL_HOST=smtp.yourprovider.com
MAIL_PORT=587
MAIL_USERNAME=your-username
MAIL_PASSWORD=your-password

Tout fournisseur d'e-mail transactionnel ou serveur de messagerie autogéré disposant d'identifiants SMTP fonctionne.

2
Définissez l'identité de l'expéditeur

Définissez l'adresse et le nom que vos utilisateurs verront :

MAIL_FROM_ADDRESS=kollek@yourdomain.com
MAIL_FROM_NAME="KolleK"

Utilisez un domaine que vous contrôlez et que vous avez configuré pour l'envoi (SPF et DKIM chez votre fournisseur), sinon votre courrier atterrira dans les indésirables.

3
Appliquez et testez

Recréez les conteneurs, puis déclenchez un véritable e-mail, par exemple en demandant un lien magique depuis la page de connexion :

docker compose up -d

Option 2 : Resend

Si vous utilisez Resend, définissez :

USE_RESEND=true
RESEND_API_KEY=re_your_api_key

Les e-mails sont alors envoyés via l'API de Resend plutôt que par SMTP, et chaque envoi enregistre l'identifiant de message Resend en même temps.

Vérifier que la livraison fonctionne

KolleK enregistre chaque e-mail qu'il envoie, par utilisateur, avec son objet, son corps et son statut de livraison. Après votre test, vérifiez deux endroits :

Signes de défaillance courants :

  • Rien n'arrive et rien ne signale d'erreur. Le mailer est toujours log. Vérifiez que .env a été appliqué en recréant les conteneurs.
  • Les e-mails partent mais atterrissent dans les indésirables. Le domaine d'expédition n'est pas authentifié. Configurez SPF et DKIM chez votre fournisseur.
  • Des erreurs d'envoi apparaissent dans le journal. Les identifiants ou les détails de l'hôte sont incorrects. Les journaux du worker de la file d'attente contiennent le message d'erreur du fournisseur.

Les e-mails sont envoyés par la file d'attente en arrière-plan, le conteneur queue doit donc être en fonctionnement pour que quoi que ce soit quitte l'instance.

Et ensuite

Documentation de KolleK Modifier cette page sur GitHub
Cette page vous a-t-elle été utile ?