# Bolt.new et v0 : envoyer e-mails, SMS et WhatsApp gratuitement ?

> Un route handler Next.js et un prompt : votre app Bolt.new ou v0 envoie e-mail, SMS et WhatsApp depuis vos propres comptes. Gratuit, sans carte.

Source: https://unlimitedmessaging.app/fr/articles/bolt-v0-email-sms-whatsapp

Guide Bolt.new + v0

# Votre app Bolt ou v0  
_envoie e-mails, SMS et WhatsApp._

Un prompt, une route serveur, un appel d'API : le même message part par e-mail, WhatsApp et SMS depuis votre propre boîte mail, votre numéro et votre téléphone Android, et la clé n'atteint jamais le navigateur.

[Obtenir une clé d'API gratuite](https://app.unlimitedmessaging.app)[Guide du SDK TypeScript](https://unlimitedmessaging.app/fr/articles/typescript-sdk)

La réponse courte

## Comment ajouter e-mail, SMS et WhatsApp à une app Bolt.new ou v0 ?

Demandez à Bolt.new ou v0 d'écrire une route côté serveur, un [route handler](https://nextjs.org/docs/app/building-your-application/routing/route-handlers) Next.js ou une fonction serveur Bolt, qui envoie POST https://api.unlimitedmessaging.app/message avec une clé d'API lue dans une variable d'environnement serveur. Une requête atteint une boîte mail, une conversation WhatsApp et un téléphone, depuis vos propres comptes, sur un plan gratuit sans carte bancaire.

v0 génère des apps Next.js qui se déploient sur Vercel, et Bolt.new génère des projets full-stack, souvent en Next.js ou Vite avec Bolt Database ou Supabase. Les deux savent écrire du code serveur. C'est essentiel, car une clé de messagerie ne doit jamais se retrouver dans le bundle du navigateur : l'envoi se fait dans du code qui tourne sur le serveur.

Unlimited Messaging est une API de messagerie qui envoie depuis des comptes que vous possédez déjà : l'e-mail depuis votre boîte Gmail ou de domaine en IMAP/SMTP, WhatsApp depuis votre propre numéro lié comme WhatsApp Web, les SMS depuis la SIM de votre téléphone Android grâce à une app gratuite. Aucun frais par message sur le plan gratuit ; les messages portent une courte ligne "Sent with UnlimitedMessaging.app".

Pour une app codée en vibe coding, l'intérêt est la vitesse. Au lieu de trois fournisseurs, trois SDK et trois vérifications, l'outil d'IA écrit un seul appel fetch, et vous testez avec de vrais messages dans l'après-midi.

Client typé pour Node.js et Next.js : [le SDK TypeScript](https://unlimitedmessaging.app/fr/articles/typescript-sdk). Plusieurs canaux en un appel : [e-mail et WhatsApp en une requête d'API](https://unlimitedmessaging.app/fr/articles/email-whatsapp-single-api-request). Des SMS depuis votre téléphone : [l'app Android](https://unlimitedmessaging.app/fr/channels/sms).

![Illustration : une grille de petites icônes dont une en évidence, avec le titre « Des apps Bolt et v0 qui écrivent aux clients ».](https://unlimitedmessaging.app/_next/image?url=%2Fassets%2Farticles%2Fcovers%2Fbolt-v0-email-sms-whatsapp-fr.png&w=3840&q=75)

Définition
Route handler

Un fichier Next.js (app/api/.../route.ts) qui répond aux requêtes HTTP sur le serveur. Il peut lire n'importe quelle variable d'environnement, alors que le navigateur ne voit que les variables préfixées par NEXT\_PUBLIC\_.

Bolt appelle son code côté serveur des server functions ou edge functions.

[Source : documentation v0, Security↗](https://v0.app/docs/security)

Pourquoi ne pas tout coder

## Pourquoi coder soi-même e-mail, SMS et WhatsApp prend autant de temps ?

Les outils d'IA écrivent le code en quelques secondes. Ce qui est lent, c'est tout le reste : fournisseurs, vérifications, règles et particularités de déploiement.

1. 01  
### E-mail : SMTP passe mal sur les hébergeurs serverless  
Vercel bloque le SMTP sortant sur le port 25 et recommande une API d'e-mail dans la plupart des cas, et les Edge Functions Supabase refusent carrément les ports 25 et 587\. Une API d'e-mail demande alors un domaine vérifié et des enregistrements DNS avant de livrer à quelqu'un d'autre que vous.
2. 02  
### SMS : numéros, enregistrement, frais au segment  
Un fournisseur comme Twilio vous loue un numéro et facture chaque segment, 0,0083 $ aux États-Unis plus des frais d'opérateur. Le trafic américain depuis un numéro long classique exige l'enregistrement A2P 10DLC, qui commence par 4,50 $ de frais de marque et une vérification.
3. 03  
### WhatsApp : templates et limites  
L'API Cloud officielle de Meta exige un template approuvé pour tout envoi hors de la fenêtre de service client de 24 heures, examiné sous 24 heures, facturé par message template, et les nouveaux comptes sont plafonnés à 250 destinataires uniques par 24 heures.
4. 04  
### Plus de code où l'IA peut se tromper  
Trois SDK et trois formats de webhook, c'est plus de fichiers, plus de clés et plus d'endroits où un extrait généré fuite un secret ou avale une erreur. Un seul endpoint garde un diff assez petit pour être relu.

Côte à côte

## Quelle solution de messagerie pour une app Bolt.new ou v0 ?

Ce qu'exige chaque option courante avant que votre app puisse écrire à un vrai utilisateur.

__Quelle solution de messagerie pour une app Bolt.new ou v0 ?__
| [Nodemailer + SMTP](https://vercel.com/kb/guide/serverless-functions-and-smtp)E-mail fait maison | [Resend](https://resend.com/pricing)API d'e-mail | [Twilio](https://www.twilio.com/en-us/sms/pricing/us)API SMS et WhatsApp | Unlimited MessagingAPI e-mail, SMS et WhatsApp               |                                                                       |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------ | --------------------------------------------------------------------- |
| Canaux                                                                                           | E-mail                                           | E-mail                                                                   | SMS et WhatsApp                                              | E-mail, WhatsApp et SMS en une requête                                |
| Coût pour tester                                                                                 | Gratuit avec votre propre boîte mail             | Gratuit : 3 000 e-mails par mois, 100 par jour                           | Crédit d'essai, puis au message                              | Plan gratuit, aucun frais par message, ligne en pied de message       |
| Fonctionne en serverless                                                                         | Selon les ports autorisés par l'hébergeur        | Oui, HTTPS                                                               | Oui, HTTPS                                                   | Oui, HTTPS                                                            |
| Configuration avant les vrais utilisateurs                                                       | Identifiants SMTP                                | Domaine vérifié et DNS                                                   | Numéro, 10DLC (États-Unis), configuration Meta pour WhatsApp | Lier la boîte mail, scanner un QR code, installer l'app Android       |
| Réponses entrantes                                                                               | À coder vous-même en interrogeant IMAP           | Webhooks d'événements de livraison                                       | Webhooks                                                     | Boîte de réception sur tous les plans, webhooks sur les plans payants |
| Montée en charge                                                                                 | Les limites de votre boîte mail                  | Conçu pour le volume                                                     | Conçu pour le volume                                         | Rythme humain, pas d'envoi de masse ; WhatsApp non officiel           |

Prix et limites relevés sur la page de chaque fournisseur le 9 novembre 2026.

Étape par étape

## De zéro au premier message en cinq étapes

1. 01  
### Créez un compte gratuit  
Inscrivez-vous sur app.unlimitedmessaging.app avec Google, GitHub ou votre adresse e-mail. Pas de carte bancaire ; le plan Gratuit est permanent.
2. 02  
### Connectez vos canaux  
Ajoutez votre boîte mail en IMAP/SMTP, scannez un QR code pour lier WhatsApp, et installez l'app Android sur un téléphone avec une SIM pour les SMS. Vous pouvez commencer par un seul.
3. 03  
### Créez une clé d'API  
Ouvrez la section API du tableau de bord et créez une clé. Copiez-la une fois.
4. 04  
### Ajoutez UM\_API\_KEY côté serveur  
v0 : menu du projet, Settings, Environment Variables, en cochant Development pour que l'aperçu la voie. Bolt : le panneau Secrets (icône base de données) pour les fonctions serveur, ou le menu engrenage sur un projet Supabase.
5. 05  
### Collez le prompt  
L'outil écrit la route et l'appel. Testez sur votre propre numéro et votre boîte avant tout vrai utilisateur.

Copier, coller

## Quel prompt coller dans Bolt.new ou v0 ?

Collez ceci dans le chat. Il demande une route côté serveur, la clé depuis l'environnement et une confirmation de commande. Remplacez le déclencheur par le vôtre.

Prompt pour Bolt.new ou v0Prompt

```
Ajoute l'envoi de messages à cette app avec Unlimited Messaging (API REST, docs : https://docs.unlimitedmessaging.app).

1. Crée une route côté serveur : en Next.js, app/api/notify/route.ts (ou une server action) ; dans une app Vite sur Bolt, une fonction serveur. N'appelle jamais l'API depuis des composants client.
2. Lis la clé dans la variable d'environnement UM_API_KEY. Ne la préfixe pas par NEXT_PUBLIC_ ni VITE_, ne l'écris pas en dur, et dis-moi où l'ajouter (v0 : Settings > Environment Variables ; Bolt : Secrets).
3. Envoie POST https://api.unlimitedmessaging.app/message avec "Authorization: Bearer <UM_API_KEY>" et le corps JSON { "to": { "phone": "<E.164>", "email": "<email>" }, "subject": "...", "text": "...", "channels": [{ "channel": "EMAIL" }, { "channel": "WHATSAPP" }, { "channel": "SMS" }] }.
4. N'écris qu'à l'utilisateur connecté, avec ses coordonnées lues côté serveur. Renvoie le statut et le corps de la réponse de l'API pour voir les erreurs.
5. Déclenche l'envoi après le paiement avec une confirmation de commande, et demande-moi mon numéro et mon e-mail pour un premier test.
```

L'endpoint est du simple HTTPS : le même prompt convient à Lovable, Cursor ou Claude Code en changeant la première étape.

POST /api/notifyNext.js

```
// app/api/notify/route.ts
export async function POST(req: Request) {
  const { phone, email, name } = await req.json();

  const res = await fetch('https://api.unlimitedmessaging.app/message', {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${process.env.UM_API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      to: { phone, email },
      subject: 'Your order is confirmed',
      text: `Thanks ${name}, your order is on its way.`,
      channels: [{ channel: 'EMAIL' }, { channel: 'WHATSAPP' }, { channel: 'SMS' }],
    }),
  });

  return Response.json(await res.json(), { status: res.status });
}
```

Le route handler que l'outil doit produire. En production, prenez le téléphone et l'e-mail de l'utilisateur connecté dans votre base, pas dans le corps de la requête. Retirez les canaux que vous n'avez pas connectés.

@unlimited-messaging/sdkTypeScript

```
import { UnlimitedMessagingApiClient } from '@unlimited-messaging/sdk';

const um = new UnlimitedMessagingApiClient({ token: process.env.UM_API_KEY! });

// Server-side only: a route handler, a server action or a server function
await um.messages.messageSend({
  recipient: '+33612345678',
  text: 'Your code is 291847, valid 5 minutes.',
});
```

Le SDK typé (npm i @unlimited-messaging/sdk) pour des envois sur un seul canal depuis du code serveur. Pour plusieurs canaux en un appel, le corps REST de gauche fait référence.

Sécurité

## Où ranger la clé d'API dans Bolt.new et v0 ?

Dans des variables d'environnement côté serveur, lues uniquement par du code serveur. Les deux outils documentent la même règle.

1. 01  
### v0 : pas de préfixe NEXT\_PUBLIC\_  
La documentation sécurité de v0 indique que seules les variables préfixées par NEXT\_PUBLIC\_ atteignent le navigateur, et que les autres restent sur le serveur. Nommez-la UM\_API\_KEY et lisez-la dans un route handler ou une server action.
2. 02  
### v0 : cochez Development pour l'aperçu  
Les variables sont chiffrées et stockées chez Vercel. L'aperçu de v0 ne voit que les variables disponibles dans l'environnement Development : ajoutez-y aussi la clé pendant le développement.
3. 03  
### Bolt : Secrets, utilisés par les fonctions serveur  
La documentation de Bolt précise que les secrets ne fonctionnent qu'avec les fonctions serveur, qui tournent sur les serveurs de Bolt et non dans le navigateur du visiteur. Sur un projet adossé à Supabase, ouvrez Secrets depuis le menu engrenage.
4. 04  
### Jamais dans une variable VITE\_  
Dans une app Vite, tout ce qui est préfixé par VITE\_ est compilé dans le JavaScript téléchargé par le navigateur. Une clé de messagerie à cet endroit permet à n'importe qui d'envoyer depuis votre numéro et votre boîte mail.
5. 05  
### Pas de relais ouvert  
Une route publique qui envoie n'importe quel texte à n'importe quel numéro est une passerelle à spam à votre nom. Exigez une session, cherchez le destinataire côté serveur et limitez les envois par utilisateur.

Réponses

## Comment recevoir les réponses dans une app Bolt.new ou v0 ?

Tous les plans affichent les réponses dans la boîte de réception Unlimited Messaging : fils d'e-mails, conversations WhatsApp et SMS reçus par l'app Android. Pour les pousser vers votre app, il faut des webhooks, inclus dans les plans payants : Moyen à 19 €/mois et Max à 29 €/mois.

Demandez à l'outil une seconde route, par exemple app/api/um-webhook/route.ts, enregistrez son URL publique sur la page Webhooks du tableau de bord, et abonnez-vous à message.received et message.status. Lisez le corps brut avec await req.text() avant de le parser, car la signature couvre les octets exacts.

Les livraisons suivent la spécification Standard Webhooks, signées en HMAC-SHA256 dans l'en-tête webhook-signature. Répondez 2xx en moins de 10 secondes, puis faites le travail. Les livraisons échouées sont relancées pendant un peu plus de 3 jours : dédupliquez sur eventId.

message.receivedJSON

```
{
  "type": "message.received",
  "eventId": "whd_...",
  "occurredAt": "2026-11-09T10:00:01.000Z",
  "data": {
    "channel": "WHATSAPP",
    "message": {
      "text": "Yes, see you Monday!"
    }
  }
}
```

Un événement message.received, raccourci. data.message contient l'expéditeur, le texte et, pour un e-mail, le sujet et les pièces jointes.

verify-webhook.tsTypeScript

```
import { createHmac } from 'node:crypto';
import { Buffer } from 'node:buffer';

// Standard Webhooks signature check, before trusting the body.
export function isValid(rawBody: string, h: Headers, secret: string) {
  const id = h.get('webhook-id');
  const ts = h.get('webhook-timestamp');
  const sig = h.get('webhook-signature') ?? '';
  if (!id || !ts || Math.abs(Date.now() / 1000 - Number(ts)) > 300) return false;
  const key = Buffer.from(secret.replace(/^whsec_/, ''), 'base64');
  const expected = createHmac('sha256', key)
    .update(`${id}.${ts}.${rawBody}`)
    .digest('base64');
  return sig.split(' ').some((s) => s === `v1,${expected}`);
}
```

Vérification de signature pour un route handler Next.js ou une fonction serveur Bolt. Gardez le secret whsec\_ dans une seconde variable serveur, UM\_WEBHOOK\_SECRET.

Limites

## Quelles sont les limites, honnêtement ?

Unlimited Messaging envoie depuis des comptes personnels, à un rythme humain. Prévoyez-le avant le lancement.

1. 01  
### WhatsApp est non officiel  
Votre numéro est lié comme un appareil, à la manière de WhatsApp Web, en dehors de la plateforme Business de Meta. Les messages non sollicités font bannir les numéros. Si vous avez besoin de WhatsApp officiel à grande échelle, utilisez l'API Cloud de Meta.
2. 02  
### L'e-mail suit votre boîte  
Un compte Gmail personnel envoie jusqu'à 500 e-mails par jour. Pour les newsletters ou les gros volumes, un service d'e-mailing avec un domaine d'envoi est le bon outil.
3. 03  
### Les SMS au rythme d'Android  
Android demande une confirmation au-delà de 30 SMS en 30 minutes, l'app espace donc les envois. Les SMS sont décomptés de votre forfait opérateur, et le téléphone qui envoie doit tourner sous Android.
4. 04  
### Les compromis du plan gratuit  
Sur Gratuit, les messages se terminent par "Sent with UnlimitedMessaging.app". Les médias, les messages vocaux et les webhooks viennent avec Moyen et Max, qui retirent aussi ce pied de message.

À retenir

### Une route serveur, une variable, trois canaux.

Gardez UM\_API\_KEY dans les variables côté serveur, appelez POST /message depuis un route handler ou une fonction serveur, et votre app Bolt.new ou v0 atteint l'e-mail, WhatsApp et les SMS en une requête. Gratuit pour démarrer ; payant seulement pour les webhooks, les médias ou retirer le pied de message.

FAQ

## Questions sur l'envoi de messages depuis Bolt.new et v0

Oui, depuis du code serveur. Demandez à Bolt une fonction serveur ou une route d'API qui appelle une API d'e-mail avec une clé rangée dans Secrets. Avec Unlimited Messaging, cet appel envoie depuis votre propre boîte mail sur le plan gratuit, et peut ajouter WhatsApp et les SMS.

Ajoutez UM\_API\_KEY dans les variables d'environnement du projet, demandez à v0 un route handler qui appelle POST /message avec le canal SMS, et installez l'app Android gratuite sur un téléphone avec une SIM. Le SMS part depuis le numéro de ce téléphone.

Liez votre numéro WhatsApp avec un QR code dans le tableau de bord Unlimited Messaging, puis envoyez avec le canal WHATSAPP depuis une fonction serveur. Aucun template Meta à faire approuver, mais la liaison est non officielle : n'écrivez qu'à des personnes qui attendent vos messages.

Oui. npm i @unlimited-messaging/sdk fournit un client typé, UnlimitedMessagingApiClient, avec messages.messageSend. Utilisez-le uniquement dans du code serveur. Le corps REST de ce guide fait référence pour les envois multicanaux.

Non. Il n'y a ni partenariat ni intégration native. C'est une API REST standard que n'importe quel code serveur généré par Bolt.new ou v0 peut appeler.

Oui, tant que UM\_API\_KEY est définie dans les variables d'environnement côté serveur de cet hébergeur. L'appel est du simple HTTPS, aucun port SMTP n'a besoin d'être ouvert.

Sources

## Sources & références

Pour vérifier par vous-même les informations de cet article :

1. [01Security (seules les variables NEXT\_PUBLIC\_ atteignent le navigateur)↗Documentation v0](https://v0.app/docs/security)
2. [02External APIs (variables d'environnement chiffrées et stockées chez Vercel)↗Documentation v0](https://v0.app/docs/external-apis)
3. [03Variables d'environnement↗Documentation Vercel](https://vercel.com/docs/environment-variables)
4. [04Can I use SMTP with Vercel? (port 25 bloqué)↗Vercel Knowledge Base](https://vercel.com/kb/guide/serverless-functions-and-smtp)
5. [05Secrets (ne fonctionnent qu'avec les fonctions serveur)↗Support Bolt](https://support.bolt.new/cloud/database/secrets)
6. [06Fonctions serveur↗Support Bolt](https://support.bolt.new/cloud/database/server-functions)
7. [07Intégration Supabase↗Support Bolt](https://support.bolt.new/integrations/supabase)
8. [08Route handlers↗Documentation Next.js](https://nextjs.org/docs/app/building-your-application/routing/route-handlers)
9. [09Limites des Edge Functions (ports 25 et 587 interdits)↗Documentation Supabase](https://supabase.com/docs/guides/functions/limits)
10. [10Tarifs Resend (Free : 3 000 e-mails par mois, 100 par jour)↗Resend](https://resend.com/pricing)
11. [11Tarifs SMS aux États-Unis (0,0083 $ par segment)↗Twilio](https://www.twilio.com/en-us/sms/pricing/us)
12. [12Enregistrement de marque A2P 10DLC (4,50 $ de frais de marque)↗Twilio](https://www.twilio.com/docs/trust-hub/registrations/a2p-10dlc-brand)
13. [13Examen des templates de message (décision sous 24 heures)↗Meta for Developers](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/template-review)
14. [14Limites de messagerie WhatsApp (250 destinataires uniques par 24 heures au départ)↗Meta for Developers](https://developers.facebook.com/documentation/business-messaging/whatsapp/messaging-limits)
15. [15Limites d'envoi et de réception (500 e-mails par jour)↗Aide Gmail](https://support.google.com/mail/answer/22839)
16. [16SmsUsageMonitor (seuil de 30 SMS en 30 minutes)↗Android Open Source Project](https://android.googlesource.com/platform/frameworks/opt/telephony/+/refs/heads/main/src/java/com/android/internal/telephony/SmsUsageMonitor.java)
17. [17Spécification Standard Webhooks↗Standard Webhooks](https://www.standardwebhooks.com)

![Ilian, ingénieur logiciel senior](https://ilianazz.com/images/iliazz.png)

Écrit par

[Ilian](https://unlimitedmessaging.app/fr/authors/ilian) · Senior Software Engineer

Ingénieur logiciel senior, il fonde et dirige plusieurs sociétés tech. Il conçoit des produits autour des API de messagerie, de l’automatisation et de l’intégration de l’IA, et partage ici ce qu’il apprend en construisant.

[Voir le profil LinkedIn↗](https://www.linkedin.com/in/ilianAzz/)Mis à jour le 9 novembre 2026

![](https://unlimitedmessaging.app/assets/logos/whatsapp.svg)![](https://unlimitedmessaging.app/assets/logos/email.svg)![](https://unlimitedmessaging.app/assets/logos/sms.svg)

## Faites parler votre app à vos utilisateurs dès aujourd'hui.

Créez un compte gratuit, connectez une boîte mail, un numéro ou un téléphone, et collez le prompt dans Bolt.new ou v0.

[Obtenir une clé d'API gratuite→](https://app.unlimitedmessaging.app)

Articles similaires
* [![](https://unlimitedmessaging.app/_next/image?url=%2Fassets%2Farticles%2Fcovers%2Ftypescript-sdk-fr.png&w=3840&q=75)Envoyer des WhatsApp depuis Node.js avec un SDK typéPackage npm entièrement typé pour Node.js, Next.js et tout environnement JS.](https://unlimitedmessaging.app/fr/articles/typescript-sdk)
* [![](https://unlimitedmessaging.app/_next/image?url=%2Fassets%2Farticles%2Fcovers%2Femail-whatsapp-single-api-request-fr.png&w=3840&q=75)Une requête API, deux canaux : email et WhatsApp d'un coupEnvoyez le même message par WhatsApp et par mail en un appel, depuis votre numéro et votre boîte mail, gratuit sur toutes les offres.](https://unlimitedmessaging.app/fr/articles/email-whatsapp-single-api-request)
* [![](https://unlimitedmessaging.app/_next/image?url=%2Fassets%2Farticles%2Fcovers%2Fnotifications-fr.png&w=3840&q=75)Confirmations de commande sur WhatsApp : le guide 2026Envoyez confirmations de commande, alertes et reçus via WhatsApp.](https://unlimitedmessaging.app/fr/articles/notifications)
