Guide Lovable
E-mail, SMS et WhatsApp
dans votre app Lovable, gratuitement.
Collez un seul prompt dans Lovable : il écrit une Edge Function qui envoie le même message par e-mail, WhatsApp et SMS, depuis votre propre boîte mail, votre numéro et votre téléphone, avec la clé d'API gardée côté serveur.
Pressé ? Résumez cet article avec une IA
La réponse courte
Comment envoyer e-mail, SMS et WhatsApp depuis une app Lovable ?
Demandez à Lovable de créer une Edge Function Supabase qui appelle un seul endpoint REST, POST https://api.unlimitedmessaging.app/message, avec votre clé d'API stockée dans les Secrets de Lovable. Une requête envoie le même message par e-mail, WhatsApp et SMS, depuis votre boîte mail, votre numéro et votre téléphone Android, sur un plan gratuit sans carte bancaire.
Lovable écrit le frontend React et, via Lovable Cloud ou un projet Supabase connecté, les fonctions backend. Envoyer un message relève du backend : la clé d'API ne doit pas finir dans le bundle du navigateur, l'appel se fait donc dans une Edge Function que votre frontend invoque.
Unlimited Messaging est une API de messagerie qui envoie depuis des comptes que vous possédez déjà : un e-mail depuis votre boîte Gmail ou de domaine en IMAP/SMTP, un message WhatsApp depuis votre numéro lié comme WhatsApp Web, et un SMS depuis la SIM de votre téléphone Android grâce à une app gratuite. Le plan gratuit ne facture rien par message, sur aucun canal ; les messages se terminent par une courte ligne "Sent with UnlimitedMessaging.app".
Lovable propose aussi ses propres solutions : Lovable Emails, intégré, pour l'e-mail transactionnel sur les plans Lovable payants, et des connecteurs Resend et Twilio. Ce sont de bons outils. Ce guide s'adresse à vous si vous voulez les trois canaux derrière un seul appel, sans vérifier de domaine d'envoi ni payer au message pendant vos tests.
Le même message sur plusieurs canaux : e-mail et WhatsApp en une requête d'API. Connecter Gmail : le guide du mot de passe d'application. Des SMS depuis votre téléphone : l'app Android.

Pourquoi ne pas tout coder
Pourquoi brancher SMTP, Twilio et Meta soi-même prend autant de temps ?
Chaque canal a son fournisseur, son compte, sa vérification et ses règles. Voici ce que chacun exige avant votre premier vrai message.
E-mail : les ports SMTP sont bloqués dans les Edge Functions
Supabase n'autorise pas les connexions sortantes vers les ports 25 et 587 depuis les Edge Functions : le classique nodemailer en SMTP y échoue. Vous finissez avec une API d'e-mail comme Resend, qui exige un domaine vérifié : son expéditeur partagé [email protected] ne livre qu'à votre propre adresse.
SMS : un compte fournisseur, un numéro et un enregistrement
Avec Twilio, vous louez un numéro et payez au segment, 0,0083 $ aux États-Unis plus des frais d'opérateur. Écrire à des numéros américains depuis un numéro long classique exige aussi l'enregistrement A2P 10DLC, avec 4,50 $ de frais de marque et une vérification avant de pouvoir envoyer.
WhatsApp : les règles de la plateforme Business de Meta
L'API Cloud officielle demande une configuration business chez Meta, un template approuvé pour tout message envoyé hors de la fenêtre de service client de 24 heures (examen en 24 heures maximum), un prix par message template, et les nouveaux comptes démarrent à 250 destinataires uniques par 24 heures.
Trois SDK, trois webhooks, trois factures
Chaque fournisseur a sa bibliothèque, son format d'erreur et son webhook entrant. Cela fait trois intégrations que votre outil d'IA doit réussir, trois clés à stocker et trois factures au lancement.
Côte à côte
Quelle solution choisir pour envoyer des messages depuis Lovable ?
Les quatre options les plus utilisées par les créateurs sur Lovable, sur les points qui comptent pour un prototype.
| Lovable EmailsE-mail transactionnel intégré | Connecteur ResendAPI d'e-mail | Connecteur TwilioAPI SMS et WhatsApp | Unlimited MessagingAPI e-mail, SMS et WhatsApp | |
|---|---|---|---|---|
| Canaux | SMS et WhatsApp | E-mail, WhatsApp et SMS en une requête | ||
| Offre gratuite | Plans Lovable payants uniquement (50 000 e-mails par mois inclus) | 3 000 e-mails par mois, 100 par jour | Crédit d'essai, puis paiement au message | Plan gratuit, aucun frais par message, ligne de pied de message |
| Avant le premier vrai envoi | Votre domaine et ses enregistrements DNS | Un domaine vérifié chez Resend | Un numéro Twilio, 10DLC pour les SMS américains, configuration Meta pour WhatsApp | Lier une boîte mail, scanner un QR code, installer l'app Android |
| Expéditeur | Votre domaine | Votre domaine | Un numéro loué ou un identifiant d'expéditeur | Votre propre boîte mail, votre numéro et votre SIM |
| Volume | Plafonds horaires (100 e-mails applicatifs par heure sur Pro) | Conçu pour le volume | Conçu pour le volume | Rythme humain : limites de la boîte mail, environ 30 SMS par 30 minutes, pas d'envoi de masse |
| WhatsApp officiel | Pas de WhatsApp | Pas de WhatsApp | Oui, plateforme Business de Meta | Non : appareil lié, risque de bannissement si vous spammez |
Prix et limites relevés sur la page de chaque fournisseur le 9 novembre 2026. Sur WhatsApp, Twilio répercute aussi les frais de Meta par message template.
Étape par étape
De zéro au premier message en cinq étapes
- 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.
- 02
Connectez les canaux utiles
Ajoutez votre boîte mail (Gmail avec un mot de passe d'application, ou tout hébergeur IMAP/SMTP), scannez un QR code pour lier votre numéro WhatsApp, et installez l'app Android sur un téléphone avec une SIM pour les SMS. Un seul canal suffit pour commencer.
- 03
Créez une clé d'API
Dans le tableau de bord, ouvrez la section API et créez une clé. Copiez-la tout de suite et gardez-la hors de votre code.
- 04
Rangez-la dans les Secrets de Lovable
Ouvrez Settings, puis Secrets, et ajoutez UM_API_KEY, ou utilisez le champ sécurisé que Lovable affiche quand une fonctionnalité a besoin d'une clé. Lovable l'injecte uniquement dans les Edge Functions.
- 05
Collez le prompt ci-dessous
Lovable écrit l'Edge Function et le déclencheur qui l'appelle. Envoyez le premier test à votre propre numéro et à votre boîte.
Copier, coller
Quel prompt coller dans Lovable ?
Collez ceci dans le chat de Lovable. Il demande une Edge Function, la clé depuis les Secrets et un message de bienvenue à l'inscription. Adaptez le déclencheur et le texte à votre app.
Ajoute l'envoi de messages à cette app avec Unlimited Messaging (API REST, docs : https://docs.unlimitedmessaging.app).
1. Crée une Edge Function Supabase nommée notify-user. Elle lit la clé d'API dans le secret UM_API_KEY : demande-moi de l'ajouter dans Secrets, ne la mets jamais dans le code frontend ni dans une variable VITE_.
2. La fonction appelle POST https://api.unlimitedmessaging.app/message avec l'en-tête "Authorization: Bearer <UM_API_KEY>" et ce corps JSON : { "to": { "phone": "<numéro E.164>", "email": "<email>" }, "subject": "...", "text": "...", "channels": [{ "channel": "EMAIL" }, { "channel": "WHATSAPP" }, { "channel": "SMS" }] }.
3. Garde la vérification JWT activée et n'envoie qu'à l'e-mail et au téléphone de l'utilisateur connecté, chargés côté serveur, jamais à une adresse prise dans le corps de la requête.
4. Appelle la fonction juste après l'inscription avec un court message de bienvenue, et journalise la réponse de l'API pour voir les erreurs.
5. Avant de tester, demande-moi mon numéro de téléphone et mon e-mail.// supabase/functions/notify-user/index.ts
const cors = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': 'authorization, x-client-info, apikey, content-type',
};
Deno.serve(async (req) => {
if (req.method === 'OPTIONS') return new Response('ok', { headers: cors });
const { phone, email, name } = await req.json();
const res = await fetch('https://api.unlimitedmessaging.app/message', {
method: 'POST',
headers: {
Authorization: `Bearer ${Deno.env.get('UM_API_KEY')}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
to: { phone, email },
subject: 'Welcome aboard',
text: `Hi ${name}, your account is ready.`,
channels: [{ channel: 'EMAIL' }, { channel: 'WHATSAPP' }, { channel: 'SMS' }],
}),
});
return new Response(await res.text(), {
status: res.status,
headers: { ...cors, 'Content-Type': 'application/json' },
});
});// In a React component: the browser never sees UM_API_KEY
const { data, error } = await supabase.functions.invoke('notify-user', {
body: { phone: '+33612345678', email: '[email protected]', name: 'Lea' },
});Sécurité
Où ranger la clé d'API dans une app Lovable ?
Côté serveur uniquement. La documentation de Lovable trace la limite : les secrets pour les Edge Functions, les variables VITE_ pour les valeurs qui peuvent être publiques.
Dans Secrets, lue par l'Edge Function
Lovable stocke les secrets chiffrés, les injecte dans les Edge Functions à l'exécution et ne les inclut jamais dans le code frontend. La fonction lit la clé avec Deno.env.get('UM_API_KEY').
Jamais dans une variable VITE_
La documentation de Lovable indique que les variables VITE_ sont intégrées au bundle client au moment du build. N'importe qui peut les lire dans les outils de développement du navigateur, puis envoyer des messages depuis vos comptes.
Pas dans le chat non plus
Ne collez pas la clé en clair dans un prompt. Lovable affiche un champ sécurisé quand une fonctionnalité a besoin d'un secret ; utilisez-le, ou la page Secrets.
Pas de relais ouvert
Une fonction qui envoie n'importe quel texte à n'importe quel numéro tiré du corps de la requête laisse des inconnus utiliser votre WhatsApp et votre boîte mail. Gardez la vérification JWT, cherchez le destinataire côté serveur et limitez les envois par utilisateur.
Une clé par environnement
Créez une clé pour les tests et une pour la production : vous pourrez révoquer une clé compromise sans casser l'app en ligne.
Réponses
Comment recevoir les réponses dans votre app Lovable ?
Sur tous les plans, les réponses arrivent dans la boîte de réception Unlimited Messaging : e-mails regroupés par fil, conversations WhatsApp et SMS reçus par l'app Android après connexion. Pour les pousser dans votre propre app, il faut des webhooks, inclus dans les plans payants : Moyen à 19 €/mois et Max à 29 €/mois.
Demandez à Lovable une seconde Edge Function, par exemple um-webhook, enregistrez son URL sur la page Webhooks du tableau de bord, et abonnez-vous à message.received (un message entrant) et message.status (envoyé, délivré, lu, échec). C'est Unlimited Messaging qui appelle cette fonction, pas un utilisateur connecté : désactivez la vérification JWT pour elle et vérifiez la signature à la place.
Chaque livraison est signée selon la spécification Standard Webhooks, avec un HMAC-SHA256 dans l'en-tête webhook-signature. Répondez par un 2xx en moins de 10 secondes et faites le travail ensuite. Les livraisons échouées sont relancées pendant un peu plus de 3 jours : dédupliquez sur eventId.
{
"type": "message.received",
"eventId": "whd_...",
"occurredAt": "2026-11-09T10:00:01.000Z",
"data": {
"channel": "WHATSAPP",
"message": {
"text": "Yes, see you Monday!"
}
}
}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}`);
}Limites
Quelles sont les limites, honnêtement ?
Unlimited Messaging envoie depuis des comptes personnels, à un rythme humain. Cela convient aux notifications, rappels et conversations, pas aux envois de masse.
WhatsApp est non officiel
Votre numéro est lié comme un appareil, à la manière de WhatsApp Web, pas via la plateforme Business de Meta. Écrire à des gens qui n'ont rien demandé fait bannir les numéros. Pour du marketing à grande échelle, l'API Cloud officielle de Meta est le bon outil.
L'e-mail suit les limites de votre boîte
Un compte Gmail personnel envoie jusqu'à 500 e-mails par jour. Passez par une boîte Workspace ou de domaine pour davantage, et par un service d'e-mailing pour les newsletters.
Les SMS au rythme d'Android
Android demande une confirmation au-delà de 30 SMS en 30 minutes, l'app espace donc les envois. Chaque SMS est décompté de votre forfait opérateur, et le téléphone qui envoie doit être un Android.
Ce que le plan gratuit ne comprend pas
Sur Gratuit, les messages se terminent par "Sent with UnlimitedMessaging.app". Les médias, les messages vocaux et les webhooks demandent un plan payant, qui retire aussi ce pied de message.
FAQ
Questions sur l'envoi de messages depuis Lovable
Sources
Sources & références
Pour vérifier par vous-même les informations de cet article :
- Secrets (chiffrés, injectés dans les Edge Functions, les variables VITE_ finissent dans le bundle client)Documentation Lovable
- Lovable Emails (plans payants, 50 000 e-mails par mois, limites d'envoi horaires)Documentation Lovable
- Connecteur Resend (domaine vérifié, expéditeur de test [email protected])Documentation Lovable
- Connecteur TwilioDocumentation Lovable
- Limites des Edge Functions (connexions sortantes vers les ports 25 et 587 interdites)Documentation Supabase
- Variables d'environnement et secrets des Edge FunctionsDocumentation Supabase
- Tarifs Resend (Free : 3 000 e-mails par mois, 100 par jour)Resend
- Tarifs SMS aux États-Unis (0,0083 $ par segment)Twilio
- Enregistrement de marque A2P 10DLC (4,50 $ de frais de marque)Twilio
- Examen des templates de message (décision sous 24 heures)Meta for Developers
- Limites de messagerie WhatsApp (250 destinataires uniques par 24 heures au départ)Meta for Developers
- Limites d'envoi et de réception (500 e-mails par jour)Aide Gmail
- SmsUsageMonitor (seuil de 30 SMS en 30 minutes)Android Open Source Project
- Spécification Standard WebhooksStandard Webhooks

Écrit par
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.
Livrez les notifications aujourd'hui. Payez plus tard, ou jamais.
Créez un compte gratuit, connectez une boîte mail, un numéro ou un téléphone, et collez le prompt dans Lovable.