Introduction
eeboo.email est une passerelle email pour vos formulaires web. Il vous permet de recevoir les soumissions de formulaires HTML directement dans votre boîte mail, sans exposer votre adresse email, sans backend à maintenir, et avec un contrôle total sur la sécurité des envois.
Vous configurez votre propre serveur SMTP — eeboo.email ne fait que transférer les messages en votre nom, après avoir appliqué vos règles de filtrage.
Prise en main
Créer votre compte
Rendez-vous sur eeboo.email/inscription et créez votre compte avec votre adresse email. Aucune carte bancaire requise pour commencer.
Configurer votre SMTP
Dans Paramètres → SMTP, renseignez les identifiants de votre serveur email. eeboo.email supporte tous les fournisseurs standards.
# Gmail (avec mot de passe d'application)
Hôte : smtp.gmail.com
Port : 587
Sécurité : STARTTLS
Login : votre@gmail.com
Mot de passe : xxxx xxxx xxxx xxxx # mot de passe d'application
# OVH / Infomaniak / autre hébergeur FR
Hôte : ssl0.ovh.net
Port : 465
Sécurité : SSL/TLS
Login : contact@votre-domaine.fr
Créer un site et un formulaire
Dans Mes sites → Nouveau site, déclarez votre domaine (ex : monsite.fr). Vous pouvez ensuite y créer un ou plusieurs formulaires, chacun avec une adresse email destinataire différente.
Chaque formulaire génère une clé API unique (ek_xxxxxxxxxxxx) que vous utiliserez dans votre code HTML.
Intégrer le formulaire dans votre page
Deux méthodes d'intégration sont disponibles selon vos besoins :
Option A — HTML brut (simple)
<form action="https://api.eeboo.email/v1/send" method="POST">
<input type="hidden" name="_key" value="ek_xxxxxxxxxxxx">
<input type="hidden" name="_redirect" value="https://monsite.fr/merci">
<label>Nom</label>
<input type="text" name="name" required>
<label>Email</label>
<input type="email" name="email" required>
<label>Message</label>
<textarea name="message" required></textarea>
<button type="submit">Envoyer</button>
</form>
Option B — Widget JS (avec stats d'engagement)
<!-- Conteneur où le formulaire sera injecté -->
<div id="eeboo-form"></div>
<!-- Script à placer avant </body> -->
<script
src="https://cdn.eeboo.email/embed.js"
data-key="ek_xxxxxxxxxxxx"
data-target="#eeboo-form"
defer>
</script>
// Suivi automatique inclus :
// - affichages du formulaire
// - premier focus (interaction)
// - soumissions réussies
Suivre l'activité depuis le dashboard
Le dashboard affiche pour chaque formulaire : le nombre d'envois, les KPIs d'engagement (si widget JS), le journal des soumissions, et les alertes de sécurité. Vous pouvez blacklister une IP en un clic depuis le journal.
Référence API
L'API eeboo.email est accessible à l'adresse https://api.eeboo.email/v1. Toutes les requêtes doivent inclure votre clé de formulaire.
_key (formulaire HTML) ou dans le header X-Eeboo-Key (requête JSON).Envoyer un message
| Paramètre | Type | Description |
|---|---|---|
| _key requis | string | Clé du formulaire (ek_xxxxxxxxxxxx) |
| name | string | Nom de l'expéditeur |
| email requis | string | Adresse email de l'expéditeur (utilisée en Reply-To) |
| message requis | string | Corps du message |
| subject optionnel | string | Objet du mail. Par défaut : Nouveau message depuis [domaine] |
| _redirect optionnel | URL | URL de redirection après envoi réussi (formulaires HTML classiques) |
| _token optionnel | string | Token HMAC anti-replay (voir section Anti-replay) |
| Champs libres optionnel | any | Tout autre champ est inclus dans le corps de l'email reçu |
Exemple avec fetch (JavaScript)
const response = await fetch('https://api.eeboo.email/v1/send', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Eeboo-Key': 'ek_xxxxxxxxxxxx'
},
body: JSON.stringify({
name: 'Jean Dupont',
email: 'jean@exemple.fr',
message: 'Bonjour, je souhaite vous contacter...',
subject: 'Demande de devis'
})
});
const data = await response.json();
// { "success": true, "message": "Email envoyé" }
Réponse en succès
{
"success": true,
"message": "Email envoyé avec succès"
}
Codes d'erreur
| Code HTTP | Erreur | Cause |
|---|---|---|
| 400 | missing_field | Un champ requis est absent (_key, email ou message) |
| 401 | invalid_key | Clé de formulaire invalide ou révoquée |
| 403 | source_not_allowed | Domaine ou IP source non autorisé |
| 403 | ip_blacklisted | IP expéditeur dans la blacklist |
| 409 | replay_detected | Token HMAC déjà utilisé (anti-replay) |
| 429 | rate_limit_exceeded | Limite d'envois par période dépassée |
| 429 | quota_exceeded | Quota mensuel du plan épuisé |
| 500 | smtp_error | Erreur de connexion à votre serveur SMTP |
Sécurité & configuration avancée
Sources autorisées
Par défaut, toute soumission portant votre clé API est acceptée. Pour une sécurité maximale, déclarez explicitement les domaines autorisés depuis lesquels vos formulaires peuvent être soumis.
# Exemples de domaines à déclarer
monsite.fr
www.monsite.fr
staging.monsite.fr
# Toute requête depuis un autre domaine sera rejetée
# avec une erreur 403 source_not_allowed
Whitelist & Blacklist IP
Anti-replay (token HMAC)
Le mécanisme anti-replay empêche qu'une soumission interceptée soit rejouée. Activez-le dans les paramètres du formulaire, puis générez un token signé côté serveur avant chaque affichage du formulaire.
<?php
$secret = 'votre_secret_hmac'; // depuis vos paramètres
$nonce = bin2hex(random_bytes(16));
$expires = time() + 3600; // valide 1 heure
$payload = $nonce . '.' . $expires;
$sig = hash_hmac('sha256', $payload, $secret);
$token = $payload . '.' . $sig;
<input type="hidden" name="_token" value="<?= $token ?>">
Mode Private Logging (RGPD)
Lorsque le mode private_logging est activé sur un formulaire, eeboo.email enregistre les événements de façon anonymisée : aucune donnée personnelle (adresse email, IP, contenu du message) n'est conservée dans les logs.
Le quota et les statistiques d'engagement continuent de fonctionner normalement en mode privé.
Quotas & alertes
Chaque plan dispose d'un quota mensuel d'envois. Pour éviter de rater des messages en cas de dépassement, eeboo.email vous envoie une alerte email lorsque vous approchez de votre limite.
Seuil d'alerte : 80% # envoie un email quand 80% du quota est atteint
Email d'alerte : admin@monsite.fr
# Exemple : plan Pro = 2000 envois/mois
# Alerte envoyée à 1600 envois
Questions fréquentes
Non. eeboo.email ne stocke jamais vos adresses email destinataires en clair dans une base de données accessible. La relation entre une clé de formulaire et une adresse email est interne et ne fait l'objet d'aucune diffusion. Votre adresse n'apparaît pas dans le code HTML de votre site.
Les nouvelles soumissions reçoivent une erreur 429 quota_exceeded. Si vous avez activé les alertes de quota, vous recevrez un email dès 80% (seuil configurable) pour anticiper le dépassement. Vous pouvez passer à un plan supérieur à tout moment pour rétablir les envois immédiatement.
Oui, c'est précisément le cas d'usage principal. eeboo.email remplace le besoin d'un backend pour la gestion des emails. L'option HTML brut (avec <form action="...">) fonctionne sans aucun JavaScript. L'option widget JS nécessite d'autoriser le chargement d'un script externe depuis cdn.eeboo.email.
Oui. Vous pouvez créer autant de formulaires que nécessaire dans un même site, chacun avec sa propre clé API et son propre email destinataire. Par exemple : un formulaire "contact général" envoyant vers contact@ et un formulaire "devis" envoyant vers commercial@. Les plans Pro et Entreprise ne limitent pas le nombre de formulaires.
eeboo.email est hébergé en France, sur des serveurs situés dans l'Union Européenne. Aucune donnée n'est transférée vers des serveurs américains. Pour aller plus loin, le mode private_logging vous permet de ne conserver aucune donnée personnelle dans les logs (ni IP, ni email expéditeur). La base de données est chiffrée au repos.
Vérifiez d'abord que le port utilisé est bien ouvert (587 pour STARTTLS, 465 pour SSL). Pour Gmail, assurez-vous d'utiliser un mot de passe d'application et non votre mot de passe de compte. Si le problème persiste, le journal des erreurs dans vos paramètres SMTP affiche le message d'erreur exact retourné par votre serveur. Contactez le support si besoin.
Le rate limiting est configurable par formulaire : vous définissez un nombre maximum de soumissions autorisées par IP sur une période donnée (ex : 3 envois par heure). Cela protège contre le spam en cas de non-détection des bots. Une IP dépassant ce seuil reçoit une erreur 429 rate_limit_exceeded et peut être blacklistée automatiquement si l'option est activée.