# VaEmail vs Resend

Resend est l'API d'email de référence des développeurs JavaScript : neuf SDK, une CLI, un
serveur MCP hébergé, une documentation pensée pour être lue par un modèle. VaEmail vise
un besoin plus étroit : qu'un agent puisse configurer, envoyer, suivre et rendre compte
sans qu'une personne ne relise un tableau de bord, avec des données qui restent en Europe.
Sources officielles lues le 06/09/2026, citées en bas de page.

| Critère | VaEmail | Resend |
| --- | --- | --- |
| Positionnement | Infrastructure email pour applications et agents IA | « Email for developers » |
| API | `https://app.vaemail.fr/api/v1`, en-tête `api-key` ; API compatible Brevo sur `/v3` | `https://api.resend.com`, `Authorization: Bearer re_…` ; un `User-Agent` est obligatoire, sinon 403 |
| SDK | Aucun propre ; les clients Brevo existants fonctionnent sur `/v3` | Node, Python, PHP, Ruby, Go, Java, Laravel, Rust, .NET |
| CLI | `npx vaemail` : init, doctor, send, status, domains, usage, `--json` | `resend-cli`, « couvre toute l'API, pour humains, agents et CI » |
| MCP | Local (stdio), 13 outils, zéro dépendance, outils de lecture annotés `readOnlyHint` | Distant `mcp.resend.com` (OAuth ou Bearer) et local `resend-mcp` (stdio ou HTTP) ; nombre d'outils non publié |
| OpenAPI | 3.1, 63 chemins, `https://app.vaemail.fr/openapi.json` | 3.0.3, 43 chemins, `https://resend.com/openapi.json` |
| llms.txt | `vaemail.fr/llms.txt` et `llms-full.txt` | Trois niveaux : `llms.txt`, `llms-full.txt`, `docs/llms.txt` |
| Skill d'agent | Oui, `npx skills add vaemail/skills` | Oui, 5 skills, dont une sur la sécurité d'une inbox d'agent |
| Email entrant | Réponses aux séquences de prospection via une boîte IMAP déclarée ; pas de réception générique | Oui : domaine `<id>.resend.app` fourre-tout ou MX sur un domaine à soi, webhook `email.received`, lecture du corps et des pièces jointes par API |
| Boîte à la volée | Non | Non comme primitive ; toute adresse du domaine fourre-tout reçoit |
| Idempotence | En-tête `Idempotency-Key`, 24 h, rejeu marqué `Idempotent-Replay: true`, 409 si le contenu change | En-tête `Idempotency-Key`, 24 h, sur `POST /emails` et `/emails/batch` |
| Essai à blanc | `POST /api/v1/messages/validate` : dit si l'envoi passerait et ce qui le bloque, ne consomme rien | Pas d'essai à blanc ; les adresses `resend.dev` simulent un scénario mais comptent dans le quota |
| Portées de clé | 8 portées (`email.send`, `email.read_status`, `domain.read`, `domain.write`, `contacts.*`, `analytics.read`, `billing.read`) ; 403 `INSUFFICIENT_SCOPE` nomme ce qui manque | `full_access` ou `sending_access`, restriction à un domaine possible |
| Plafonds par clé | `max_emails_per_day`, `max_recipients_per_email`, `allowed_domains` | Non ; quotas par équipe |
| Journal d'audit | `GET /api/v1/audit-logs` : une ligne par appel, sans le corps des messages | `GET /logs` : journal des requêtes API, corps de requête et de réponse inclus |
| Statut par message | `GET /api/v1/messages/{id}` : queued, sent, delivered, failed, suppressed, held, cancelled + événements | `GET /emails/{id}` : 12 états dont delivery_delayed, opened, clicked |
| Webhooks | sent, delivered, bounce, complaint, opened, clicked | 19 événements (email, domaine, contact, suppression), signés Svix |
| Diagnostic de délivrabilité | `GET /api/v1/deliverability/diagnose` : SPF, DKIM, DMARC, problèmes hiérarchisés, actions | Tableau de bord seulement (« Deliverability Insights ») |
| Erreurs | Bloc `error` : `code` stable, `retryable`, `resolution.action`, lien de documentation | Codes d'erreur documentés |
| Région | Serveurs en Allemagne, envoi via Amazon SES Europe | Envoi depuis Virginie, Irlande, São Paulo ou Tokyo ; « toutes les données de compte sont stockées aux États-Unis quelle que soit la région » |
| Débit | 60 requêtes/minute sur l'envoi transactionnel | 10 requêtes/seconde par équipe |
| Lot, différé, tags | Campagnes programmables ; `tag` sur un envoi ; pas de `scheduled_at` transactionnel | `POST /emails/batch` (100 par appel), `scheduled_at`, `tags` |
| Tarifs | Au volume, sur devis ; pas de grille publique | Gratuit : 3 000/mois, 100/jour ; Pro 20 $/mois pour 50 000 |

## Ce que Resend fait mieux

- L'écosystème : neuf SDK, un serveur MCP hébergé qu'on branche sans rien installer, une
  CLI mûre, cinq skills. Un agent qui cherche « email API » tombe sur Resend d'abord.
- L'entrant : réception sur un domaine fourni ou le vôtre, webhook signé, corps et
  pièces jointes par API. VaEmail n'a pas d'équivalent générique.
- Les webhooks : dix-neuf événements signés contre six non signés.
- La granularité des états : douze contre sept.

## Ce que VaEmail fait mieux

- L'essai à blanc : `validate` dit ce qui bloquerait et ne consomme rien ; chez Resend,
  tester consomme le quota.
- La clé bornée : portées fines, plafond journalier, destinataires, domaines. Chez Resend,
  une clé `sending_access` peut envoyer sans limite propre.
- Le journal par appel qui ne contient jamais le corps des messages ; chez Resend, les
  logs contiennent les corps de requête, donc les emails.
- Le diagnostic de délivrabilité par API, avec les actions à mener.
- La résidence des données : Allemagne, contre des données stockées aux États-Unis même
  en envoyant depuis l'Irlande.
- La compatibilité Brevo : une intégration Brevo existante bascule en changeant l'URL.

## Quand choisir

Resend si vous avez besoin de recevoir du courrier, d'un SDK dans votre langage, ou d'un
volume gratuit pour démarrer. VaEmail si un agent doit tenir la clé sans surveillance,
si la donnée doit rester en Europe, ou si vous quittez Brevo.

## Sources

Resend, consultées le 06/09/2026 : https://resend.com/ · https://resend.com/docs/api-reference/introduction ·
https://resend.com/docs/cli · https://resend.com/docs/mcp-server · https://resend.com/openapi.json ·
https://resend.com/llms.txt · https://github.com/resend/resend-skills ·
https://resend.com/docs/dashboard/receiving/introduction · https://resend.com/docs/dashboard/emails/idempotency-keys ·
https://resend.com/docs/dashboard/emails/send-test-emails · https://resend.com/docs/api-reference/api-keys/create-api-key ·
https://resend.com/docs/api-reference/rate-limit · https://resend.com/docs/dashboard/logs/introduction ·
https://resend.com/docs/api-reference/emails/retrieve-email · https://resend.com/docs/webhooks/event-types ·
https://resend.com/docs/dashboard/emails/deliverability-insights · https://resend.com/docs/dashboard/domains/regions ·
https://resend.com/pricing.md · https://resend.com/docs/api-reference/emails/send-batch-emails.
VaEmail : https://vaemail.fr/llms-full.txt · https://app.vaemail.fr/openapi.json · https://app.vaemail.fr/api/v1/capabilities.
