# Relais SMTP

> Envoyez des e-mails depuis n’importe quelle application, n’importe quel framework ou appareil qui parle SMTP. Paramètres de connexion, affichage des e-mails relayés dans Emailit et différences entre SMTP et l’API.

Le relais SMTP d’Emailit accepte les e-mails de tout ce qui peut envoyer via SMTP, comme un CMS, le mailer d’un framework, un outil de supervision ou un scanner, et les livre par le même circuit que l’[API e-mail](/fr/docs/email-api/). Utilisez-le quand modifier des paramètres SMTP est plus simple qu’écrire du code pour l’API.

## Quand utiliser SMTP

SMTP est adapté quand :

- Votre logiciel ne prend en charge que SMTP, comme les plugins WordPress, les outils de support et les équipements réseau.
- Vous venez d’un autre fournisseur et ne voulez changer que l’hôte et les identifiants.
- Votre framework dispose déjà d’un mailer SMTP, comme Laravel, Django, Rails et Nodemailer.

Choisissez l’API si vous avez besoin de [modèles](/fr/docs/templates/) avec variables, de la programmation, de métadonnées, de clés d’idempotence ou de réglages de suivi par e-mail. Pour un comparatif complet, consultez [API ou SMTP ?](/fr/docs/get-started/api-or-smtp/).

## Fonctionnement

1. Votre application se connecte à `smtp.emailit.com`, passe la connexion en TLS et s’authentifie avec une clé API.
2. Elle envoie l’expéditeur d’enveloppe, une commande de destinataire par destinataire, puis le message.
3. Emailit contrôle l’espace de travail, les limites de débit, la taille du message et le domaine de l’en-tête From, puis répond `250 2.0.0 OK: queued as em_…`.
4. Chaque destinataire devient un e-mail distinct avec son propre ID `em_`. Emailit le signe avec DKIM, effectue les contrôles anti-spam, le livre et réessaie en cas d’échec temporaire, exactement comme pour les e-mails envoyés via l’API.

## Paramètres de connexion

| Paramètre | Valeur |
| --- | --- |
| Hôte | `smtp.emailit.com` |
| Port | `587` avec STARTTLS. Également `465` (TLS implicite), et `2525` ou `2587` (STARTTLS) pour les réseaux qui bloquent le 587. |
| Nom d’utilisateur | `emailit` |
| Mot de passe | Une [clé API](/fr/docs/developers/api-keys/), commençant par `secret_` |
| Authentification | `PLAIN` ou `LOGIN` |

La page de chaque clé API dans **Email API → API Keys** affiche ces mêmes informations sur sa carte **SMTP Info**. [Paramètres SMTP](/fr/docs/smtp/settings/) détaille chaque port, les règles d’adresse d’expéditeur et les limites.

## Envoyer un message de test

**cURL**

```bash
cat > message.txt <<'EOF'
From: Acme <hello@acme.com>
To: ada@example.com
Subject: SMTP test from Acme

It works.
EOF

curl --url "smtp://smtp.emailit.com:587" --ssl-reqd --crlf \
  --user "emailit:$EMAILIT_API_KEY" \
  --mail-from hello@acme.com \
  --mail-rcpt ada@example.com \
  --upload-file message.txt -v
```

**Node.js**

```javascript
import nodemailer from 'nodemailer';

const transporter = nodemailer.createTransport({
  host: 'smtp.emailit.com',
  port: 587,
  secure: false, // STARTTLS on 587
  requireTLS: true,
  auth: { user: 'emailit', pass: process.env.EMAILIT_API_KEY },
});

const info = await transporter.sendMail({
  from: 'Acme <hello@acme.com>',
  to: 'ada@example.com',
  subject: 'SMTP test from Acme',
  text: 'It works.',
});

console.log(info.response); // 250 2.0.0 OK: queued as em_…
```

**Python**

```python
import os
import smtplib
from email.message import EmailMessage

msg = EmailMessage()
msg["From"] = "Acme <hello@acme.com>"
msg["To"] = "ada@example.com"
msg["Subject"] = "SMTP test from Acme"
msg.set_content("It works.")

with smtplib.SMTP("smtp.emailit.com", 587) as smtp:
    smtp.starttls()
    smtp.login("emailit", os.environ["EMAILIT_API_KEY"])
    smtp.send_message(msg)
```

**PHP**

```php
use PHPMailer\PHPMailer\PHPMailer;

$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'smtp.emailit.com';
$mail->Port = 587;
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->SMTPAuth = true;
$mail->Username = 'emailit';
$mail->Password = getenv('EMAILIT_API_KEY');

$mail->setFrom('hello@acme.com', 'Acme');
$mail->addAddress('ada@example.com');
$mail->Subject = 'SMTP test from Acme';
$mail->Body = 'It works.';
$mail->send();
```

Les nouveaux espaces de travail sont en mode bac à sable et ne peuvent envoyer qu’aux adresses e-mail des comptes des membres de l’espace de travail. [Demandez l’accès production](/fr/docs/workspaces/production-access/) avant d’envoyer à quelqu’un d’autre.

## Affichage des e-mails SMTP dans Emailit

- **Un e-mail par destinataire.** Un message à trois destinataires crée trois e-mails, chacun avec son propre ID `em_`, son statut et ses événements.
- **Les ID dans la réponse.** La réponse `250` qui suit le message liste les nouveaux ID, par exemple `250 2.0.0 OK: queued as em_33VtK8mRq1xZp7LwN4cY2bHsDfa`. Ce sont les mêmes ID que ceux qu’utilisent l’API, le tableau de bord et les webhooks. Consultez [En-têtes et réponses SMTP](/fr/docs/smtp/headers/#the-250-reply).
- **Liste des e-mails.** Les e-mails apparaissent dans **Email API → Emails**. Filtrez par **API key** pour voir les e-mails d’une application.
- **Logs.** Chaque message soumis apparaît dans **Email API → Logs** avec la source **SMTP** et son code de réponse, ainsi que les refus liés aux limites de débit et les échecs d’authentification. Consultez [Logs de requêtes](/fr/docs/logs/request-logs/).
- **Webhooks.** Les e-mails SMTP émettent les mêmes événements de livraison et d’engagement que les e-mails envoyés via l’API, sauf `email.accepted`. Le premier événement est généralement `email.delivered`.

## Différences entre SMTP et l’API e-mail

| Fonctionnalité | API e-mail | Relais SMTP |
| --- | --- | --- |
| Modèles et variables Temple | Oui | Non. Le message est envoyé tel que vous l’avez construit. |
| Envoi programmé | Oui, avec `scheduled_at` | Non |
| Métadonnées | Oui, avec `meta` | Non |
| Suivi des ouvertures et des clics | Paramètres du domaine, ou par e-mail avec `tracking` | Uniquement les paramètres **Track loads** et **Track clicks** du domaine d’envoi |
| Clés d’idempotence | Oui | Non |
| Événement `email.accepted` | Oui | Non |
| Destinataires par message | Jusqu’à 50 dans chacun des champs `to`, `cc` et `bcc` | Pas de limite fixe |
| Moment du débit des crédits | À l’acceptation de la requête. En cas de crédits insuffisants, renvoie `402`. | Au traitement de chaque e-mail. En cas de crédits insuffisants, l’e-mail est retenu. |
| Unité comptée par la limite de débit | Chaque destinataire | Chaque transaction SMTP (un message) |
| Taille maximale du message | 40 Mo | 40 Mo |

Emailit ne lit pas les en-têtes de contrôle `X-Emailit-*` dans les messages SMTP. Consultez [En-têtes SMTP](/fr/docs/smtp/headers/).

## Limites

| Limite | Valeur |
| --- | --- |
| Taille du message | 40 Mo |
| Débit d’envoi (par défaut) | 2 messages par seconde et 5 000 messages par jour et par espace de travail, partagés avec l’API |
| Réinitialisation quotidienne | Minuit UTC |
| Crédits | 1 par destinataire |

Les espaces de travail Pro et Business bénéficient de hausses de limite automatiques selon leur santé d’envoi, et tout espace de travail peut en demander davantage depuis la carte **Sending Limits** de la page d’accueil du tableau de bord. Consultez [Limites](/fr/docs/limits/).

## Étapes suivantes

  - [Paramètres SMTP](/fr/docs/smtp/settings/): Ports, TLS, authentification, règles d’adresse d’expéditeur et limites.
  - [En-têtes et réponses](/fr/docs/smtp/headers/): Ce qu’Emailit ajoute, réécrit et supprime.
  - [Dépannage](/fr/docs/smtp/troubleshooting/): Chaque code de réponse SMTP et sa solution.
  - [Démarrage rapide SMTP](/fr/docs/quickstart/smtp/): Envoyez votre premier message pas à pas.

---
Source: https://emailit.com/fr/docs/smtp/
