# Procédure DKIM VPS — re-info.fr (à exécuter par l'utilisateur)

État au 16/08/2026 : clés générées, dkimpy installé, smtp-relay.py modifié
et testé (signature vérifiée cryptographiquement). Reste : redémarrer le
service, tester l'envoi réel, puis publier le DNS.

---

## Étape 1 — Redémarrer le relais (sudo requis)

```
sudo systemctl restart smtp-relay
```

Vérifier qu'il est bien actif :

```
systemctl status smtp-relay --no-pager
```

---

## Étape 2 — Test réel AVANT de publier le DNS

Envoyer un test vers une boîte Gmail/Hotmail :

```
curl -s -X POST http://127.0.0.1:8443/ -H "Content-Type: application/json" \
  -d '{"token":"<token>","to":"<boite-gmail>","subject":"test dkim","message":"test"}'
```

Le token se trouve dans : `/home/alan/SITE/CRON/.smtp-relay-token`

Dans la boîte de réception : **Afficher l'original** (Gmail) et vérifier :
- présence d'un en-tête `DKIM-Signature: v=1; ... s=vps1; d=re-info.fr`
- `dkim=pass` dans `Authentication-Results`

> ⚠️ Tant que le DNS n'est pas publié, Gmail affichera `dkim=fail` ou
> `dkim=neutral` (clé introuvable). C'est NORMAL à ce stade : on vérifie
> seulement que la signature est bien présente et bien formée.

---

## Étape 3 — Publier le DNS chez OVH (seulement si le test passe)

OVH Manager → Web Cloud → domaine re-info.fr → Zone DNS → Ajouter un
enregistrement :

| Champ | Valeur |
|---|---|
| Type | `TXT` |
| Sous-domaine | `vps1._domainkey` |
| Valeur | `v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt9CF+9k3vXYcQj5PmmjDyMYY8qxY4mVEDn6+7DO7yyvh0ycecguWycK1pCogJFjdU0AybiZtSHPbortr6xv9OVL+AyMiOoPcbVjS0ztZkE/yWUv4HGeS8O3PcvO59I66SoC5KaKqZkyv3VakaebFIGtMFnNcOp9UomA2eJMk3GyKDLNPjCyB/vgsB1D+mOoFLn2D8KF+ziZsiK5Hi9YNj7alF33PA1eRtApsO5QbLSzfMc8ktntof5r0I8u8BycKtsDDWeF2qwI567+hquhQ4t8Occ4RuGe9kp28dCYLmZ2kqbKZ67JEopT+ojS9sFoVs04Er9gH/UUgqPq/EK/TMwIDAQAB` |
| TTL | 3600 (défaut) |

> Le champ « Sous-domaine » est le NOM de l'enregistrement : OVH ajoute
> automatiquement `.re-info.fr` derrière, ce qui donne
> `vps1._domainkey.re-info.fr`.

---

## Étape 4 — Vérifier la propagation

Attendre 5 min à 24 h, puis :

```
dig +short TXT vps1._domainkey.re-info.fr
```

Doit renvoyer : `"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt9CF+9k3vXYcQj5PmmjDyMYY8qxY4mVEDn6+7DO7yyvh0ycecguWycK1pCogJFjdU0AybiZtSHPbortr6xv9OVL+AyMiOoPcbVjS0ztZkE/yWUv4HGeS8O3PcvO59I66SoC5KaKqZkyv3VakaebFIGtMFnNcOp9UomA2eJMk3GyKDLNPjCyB/vgsB1D+mOoFLn2D8KF+ziZsiK5Hi9YNj7alF33PA1eRtApsO5QbLSzfMc8ktntof5r0I8u8BycKtsDDWeF2qwI567+hquhQ4t8Occ4RuGe9kp28dCYLmZ2kqbKZ67JEopT+ojS9sFoVs04Er9gH/UUgqPq/EK/TMwIDAQAB`

---

## Étape 5 — Test final

Renvoyer le test de l'étape 2, puis dans Gmail : **Afficher l'original** →
`dkim=pass` doit apparaître.

Vérifier aussi la note sur https://www.mail-tester.com (viser 10/10).

---

## Rappels

- Ne pas publier le DNS avant que le service ne signe (fait) et que le test
  de l'étape 2 soit concluant.
- La clé privée ne doit JAMAIS quitter le VPS :
  `/home/alan/SITE/CRON/dkim-private.pem`
- Si le selecteur `vps1` est changé, il faut le changer aussi dans
  `smtp-relay.py` (variable `DKIM_SELECTOR`).
