# Tester les e-mails en local (aperçu des templates)

L’envoi passe par **Paramètres → E-mail** dans l’admin (table `settings`), pas par le `.env` seul.

## Option recommandée : Mailpit (faux SMTP + boîte web)

1. **Installer et lancer Mailpit** (Mac avec Homebrew) :
   ```bash
   brew install mailpit
   mailpit
   ```
   - SMTP pour le CMS : **`127.0.0.1`**, port **`1025`**
   - Interface web pour lire les mails : **http://127.0.0.1:8025**

2. **Dans l’admin GCMS** → *Paramètres → E-mail* :
   - **Hôte** : `127.0.0.1`
   - **Port** : `1025`
   - **Chiffrement** : **Aucun** (obligatoire pour Mailpit ; sinon le SMTP tente du TLS et rien n’arrive)
   - **Utilisateur / mot de passe** : laisser **vides** pour Mailpit (évite une authentification inutile)
   - **Utilisateur / mot de passe** : laisser vides
   - **Email expéditeur** : par ex. `test@localhost` (n’importe quelle adresse factice)
   - **E-mails administrateur** : par ex. `admin@test.local` (Mailpit intercepte tout ; l’adresse sert surtout d’en-tête *To*)

3. **Déclencher les envois** :
   - Formulaire **contact** sur le site
   - **Commande** boutique (si e-commerce actif)
   - **Réservation** (si plugin actif)

4. Ouvrir **http://127.0.0.1:8025** : tu vois le HTML des templates (`emails.*`).

## Alternatives

- **MailHog** : même principe (port SMTP souvent `1025`, UI souvent `8025`).
- **Mailtrap** (compte gratuit) : crée une « inbox », copie hôte / port / user / pass dans l’admin.

## Sans outil : aperçu HTML rapide (développeur)

En ligne de commande, depuis la racine du projet :

```bash
php artisan tinker
```

Puis (adapter IDs / modèles selon ta base) :

```php
$r = \App\Models\Reservation::with('slot.service')->latest()->first();
echo view('emails.reservation-confirmation', ['reservation' => $r, 'confirmationUrl' => 'https://example.test'])->render();
```

Idem pour `emails.new-reservation-notification`, `emails.order-confirmation`, etc. avec les bons modèles.
