# Envoyer votre premier e-mail via SMTP

> Obtenez vos identifiants SMTP, choisissez un port et envoyez un e-mail de test via smtp.emailit.com avec swaks, OpenSSL ou Python, puis connectez votre application ou votre framework.

Ce démarrage rapide vous montre comment envoyer un e-mail de test via le relais SMTP d’Emailit depuis votre terminal, puis connecter votre propre application. Utilisez le SMTP quand votre logiciel dispose déjà de paramètres SMTP. Pour du nouveau code, l’[API](/fr/docs/quickstart/api/) offre davantage de possibilités.

## Avant de commencer

- Un domaine d’envoi vérifié. Si vous n’en avez pas encore, suivez la première section du [démarrage rapide API](/fr/docs/quickstart/api/#add-and-verify-your-domain) ou la page [Ajouter un domaine d’envoi](/fr/docs/domains/add-a-domain/).
- Une clé API. Créez-en une dans **Email API → API Keys** avec **Add API key**. Votre clé API est votre mot de passe SMTP.

## Vos identifiants SMTP

| Paramètre | Valeur |
| --- | --- |
| Hôte | `smtp.emailit.com` |
| Port | `587` avec STARTTLS (recommandé). Voir le tableau ci-dessous pour les alternatives. |
| Nom d’utilisateur | `emailit` |
| Mot de passe | Votre clé API, qui commence par `secret_` |
| Authentification | `PLAIN` ou `LOGIN` |
| Adresse d’expéditeur | Toute adresse d’un domaine d’envoi vérifié, par exemple `Acme <hello@acme.com>` |

Vous retrouvez aussi ces paramètres sur la carte **SMTP Info** quand vous ouvrez une clé dans **Email API → API Keys**.

| Port | Chiffrement | Quand l’utiliser |
| --- | --- | --- |
| `587` | STARTTLS | Le choix par défaut pour la plupart des applications et des bibliothèques |
| `465` | TLS dès le premier octet (TLS implicite) | Quand votre client parle de « SSL » ou de « SMTPS » |
| `2525` | STARTTLS | Quand votre réseau ou votre hébergeur bloque le port 587 |
| `2587` | STARTTLS | Une autre solution quand les ports 587 et 2525 sont bloqués |
| `25` | STARTTLS | Relais de serveur à serveur. De nombreux fournisseurs cloud bloquent le port 25 sortant. |

Le relais propose TLS sur tous les ports, mais ne l’impose pas. Activez toujours TLS dans votre client pour que votre clé API ne soit pas envoyée en clair.

## Envoyer un e-mail de test

Choisissez l’un de ces outils. Remplacez `hello@acme.com` par une adresse de votre domaine vérifié, et `ada@example.com` par l’adresse e-mail avec laquelle vous avez créé votre compte.

> **Mode bac à sable:** Tant que votre espace de travail n’a pas l’accès production, vous ne pouvez envoyer qu’aux adresses e-mail des comptes des membres de l’espace de travail. Les autres destinataires sont refusés avec `550 Unverified workspaces can only send to workspace members' account emails`. Consultez [Accès production](/fr/docs/workspaces/production-access/).

### swaks

[swaks](https://github.com/jetmore/swaks) est un outil de test SMTP en ligne de commande. Installez-le avec `brew install swaks` ou `apt install swaks`, puis exécutez :

```bash
swaks --server smtp.emailit.com:587 --tls \
  --auth-user emailit --auth-password "$EMAILIT_API_KEY" \
  --from hello@acme.com --to ada@example.com \
  --header "Subject: Hello from Emailit SMTP" \
  --body "This is my first email sent through the Emailit SMTP relay."
```

swaks affiche toute la conversation SMTP. La dernière réponse du serveur contient l’ID de l’e-mail :

```text
<~  250 2.0.0 OK: queued as em_2pX7cN4kQ9vLm3RtB8yWd1Zs
```

### OpenSSL

OpenSSL est préinstallé sur la plupart des systèmes et vous permet de saisir vous-même les commandes SMTP. Commencez par encoder vos identifiants pour `AUTH PLAIN` :

```bash
printf '\0emailit\0%s' "$EMAILIT_API_KEY" | base64
```

Ouvrez ensuite une connexion et saisissez les commandes ci-dessous, en collant la chaîne encodée après `AUTH PLAIN` :

```bash
openssl s_client -connect smtp.emailit.com:587 -starttls smtp -crlf -quiet
```

```text
EHLO localhost
AUTH PLAIN AGVtYWlsaXQAc2VjcmV0X...
MAIL FROM:<hello@acme.com>
RCPT TO:<ada@example.com>
DATA
From: Acme <hello@acme.com>
To: ada@example.com
Subject: Hello from Emailit SMTP

This is my first email sent through the Emailit SMTP relay.
.
QUIT
```

Après `AUTH PLAIN`, le serveur répond `235`. Après la ligne contenant un seul `.`, il répond `250 2.0.0 OK: queued as em_…`.

### Python

Le module intégré `smtplib` de Python ne nécessite aucun paquet supplémentaire :

```python title="send_smtp.py"
from email.message import EmailMessage

msg = EmailMessage()
msg["From"] = "Acme <hello@acme.com>"
msg["To"] = "ada@example.com"
msg["Subject"] = "Hello from Emailit SMTP"
msg.set_content("This is my first email sent through the Emailit SMTP relay.")
msg.add_alternative("<p>This is my first email sent through the Emailit SMTP relay.</p>", subtype="html")

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

print("Accepted by Emailit")
```

Si le script se termine sans exception, Emailit a accepté l’e-mail.

## Vérifier dans le tableau de bord

Accédez à **Email API → Emails**. Votre e-mail se trouve en haut de l’onglet **Outgoing**, et son statut passe de **accepted** à **delivered** dès que le serveur du destinataire l’accepte. Chaque session SMTP apparaît aussi dans **Email API → Logs** avec la source **SMTP** : vous voyez donc également les échecs de connexion et les messages rejetés.

## Réponses fréquentes

| Réponse | Cause | Solution |
| --- | --- | --- |
| `535 Authentication failed` | Clé API incorrecte ou supprimée | Utilisez une clé API valide comme mot de passe. Voir [Erreurs 535](/fr/docs/kb/smtp-535-authentication-failed/). |
| `530 From/Sender domain is not verified for this workspace` | L’adresse d’expéditeur n’appartient pas à un domaine vérifié | Vérifiez le domaine, ou changez l’adresse d’expéditeur. Voir [Erreurs 530](/fr/docs/kb/smtp-530-from-domain-not-verified/). |
| `550 Unverified workspaces can only send to workspace members' account emails` | Mode bac à sable | Envoyez à l’adresse e-mail du compte d’un membre, ou demandez l’accès production |
| `452 4.4.5 Messages per second limit exceeded` | Dépassement de votre limite par seconde | Ralentissez et relancez l’envoi. Les limites sont partagées avec l’API. |
| `452 4.5.3 Daily message limit exceeded` | Vous avez atteint la limite du jour | Attendez minuit UTC, ou [demandez une hausse de limite](/fr/docs/limits/) |
| Délai de connexion dépassé | Votre réseau bloque le port | Essayez `2525` ou `2587`. Voir [Délais de connexion dépassés](/fr/docs/kb/smtp-connection-timeout-port-25/). |

Pour tous les codes de réponse, consultez [Dépannage SMTP](/fr/docs/smtp/troubleshooting/).

## Connecter votre application

Reportez les mêmes paramètres dans votre application ou votre framework. Ces guides indiquent la configuration exacte :

  - [Laravel](/fr/docs/frameworks/laravel/)
  - [PHP](/fr/docs/frameworks/php/)
  - [WordPress](/fr/docs/frameworks/wordpress/)
  - [Node.js](/fr/docs/frameworks/nodejs/)
  - [Next.js](/fr/docs/frameworks/nextjs/)
  - [Nuxt](/fr/docs/frameworks/nuxt/)
  - [Python](/fr/docs/frameworks/python/)
  - [Rails](/fr/docs/frameworks/rails/)
  - [Go](/fr/docs/frameworks/go/)
  - [Java](/fr/docs/frameworks/java/)
  - [.NET](/fr/docs/frameworks/dotnet/)

## Étapes suivantes

  - [Paramètres SMTP](/fr/docs/smtp/settings/): Ports, TLS, taille des messages et traitement de vos en-têtes par Emailit.
  - [En-têtes SMTP](/fr/docs/smtp/headers/): Les en-têtes qu’Emailit ajoute, modifie ou supprime.
  - [Configurer des webhooks](/fr/docs/webhooks/set-up/): Recevez aussi les événements de livraison et de rebond pour les e-mails envoyés via SMTP.
  - [API ou SMTP](/fr/docs/get-started/api-or-smtp/): Ce que l’API permet et que le SMTP ne permet pas.

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