Sparrow Emailing reúne la plataforma de campañas y el servidor SMTP: editor de arrastrar y soltar, segmentación, automatización, envíos transaccionales por API y el seguimiento en tiempo real de aperturas, clics y bajas.
Haga clic en un caso de uso para descubrir en detalle cómo Sparrow Emailing lo activa para su empresa.
Componga sus correos arrastrando y soltando, sin escribir una línea de código, y elija con precisión quién los recibe. La segmentación se apoya en sus datos: historial de compra, zona geográfica, actividad reciente, pertenencia a una lista.
Confirmación de pedido, factura, restablecimiento de contraseña, código de verificación: estos mensajes se esperan, se abren y se leen. Salen por API o por SMTP desde su aplicación, en unos cientos de milisegundos.
Un escenario se dispara con un evento —alta, compra, cumpleaños, inactividad— y luego desarrolla sus etapas solo, con plazos y condiciones que usted fija una vez por todas.
Sus aplicaciones —sitio, ERP, CRM, intranet— envían por un servidor SMTP autenticado, sobre una dirección IP cuya reputación vigilamos.
220 smtp.sparrowmessage.com ESMTP EHLO app.votresociete.ma 250-STARTTLS 250 AUTH LOGIN PLAIN STARTTLS 220 Ready to start TLS AUTH LOGIN 235 Authentication successful MAIL FROM:<facture@votresociete.ma> 250 OK RCPT TO:<client@exemple.com> 250 Accepted DATA 354 End data with . 250 Queued as 8F2C1A
Un correo enviado no es un correo leído. El panel distingue lo que se ha entregado, abierto, clicado, rechazado o denunciado — y le dice por qué, dirección por dirección.
La plataforma y el servidor de envío en una misma suscripción, sin ninguna herramienta adicional que conectar.
Componga un correo limpio en unos minutos, a partir de una plantilla o de una página en blanco. La presentación se adapta al teléfono y al ordenador, sin ajustes por su parte.
Importe sus listas desde un archivo o desde su CRM, elimine duplicados, segmente y deje que la plataforma retire por sí sola las direcciones inválidas y las bajas.
Autenticación SPF, DKIM y DMARC, calentamiento de la IP, vigilancia de las listas negras: el objetivo es la bandeja de entrada, no la carpeta de correo no deseado.
Bienvenida, cumpleaños, carrito abandonado, reactivación: sus secuencias se activan con un evento y se desarrollan solas, con sus plazos y sus condiciones.
Aperturas, clics, rebotes, quejas y bajas, campaña por campaña y contacto por contacto, con exportación CSV y envío por webhook.
Una API REST documentada y un servidor SMTP autenticado: sus aplicaciones envían directamente, en el lenguaje que ya utiliza.
No hay que instalar ninguna biblioteca propietaria. El SMTP funciona con lo que ya utiliza; la API REST se llama desde cualquier lenguaje.
POST /api/v1/login con sus credenciales devuelve un token
(api_token) que después coloca en la cabecera
Authorization: Bearer {api_token} de cada envío.
Una cuenta puede alojar varias aplicaciones, cada una con su token:
las estadísticas se mantienen separadas, aplicación por aplicación.
| Operación | Método | URL |
|---|---|---|
| Obtener un token | POST | https://app.sparrowmessage.com/api/v1/login |
| Enviar un correo | POST | https://app.sparrowmessage.com/api/v1/mail/send/one |
| Envío masivo | POST | https://app.sparrowmessage.com/api/v1/mail/send/bulk |
| Servidor SMTP | SMTP | smtp.sparrowmessage.com — puerto 587 (TLS) o 465 (SSL) |
SEMS
Amplitude RR. HH.
1 — Obtener el token y enviar un correo.
<?php
$base = 'https://app.sparrowmessage.com/api/v1';
// ── Authentification : le jeton est à conserver, pas à redemander à chaque envoi
$ch = curl_init("$base/login");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Accept: application/json', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'email' => 'vous@societe.ma',
'password' => 'votre-mot-de-passe',
]),
]);
$auth = json_decode(curl_exec($ch), true);
curl_close($ch);
if (($auth['code'] ?? '') !== 'OK') {
throw new RuntimeException($auth['error'] ?? 'Authentification refusée');
}
$token = $auth['user']['api_token'];
// ── Envoi unitaire
$ch = curl_init("$base/mail/send/one");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Accept: application/json',
'Content-Type: application/json',
"Authorization: Bearer $token",
],
CURLOPT_POSTFIELDS => json_encode([
'email' => 'client@exemple.com',
'sujet' => 'Votre commande #4521 est confirmée',
'html' => '<p>Merci pour votre commande.</p>',
]),
]);
$envoi = json_decode(curl_exec($ch), true);
curl_close($ch);
// $envoi['message_id'] identifie l'email pour le suivi
// ── Envoi en masse : « emails » est un tableau d'adresses
$ch = curl_init("$base/mail/send/bulk");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Accept: application/json',
'Content-Type: application/json',
"Authorization: Bearer $token",
],
CURLOPT_POSTFIELDS => json_encode([
'emails' => ['client1@exemple.com', 'client2@exemple.com'],
'sujet' => 'Nos offres du mois',
'html' => '<h1>Nouveautés</h1><p>Découvrez la sélection.</p>',
]),
]);
$masse = json_decode(curl_exec($ch), true);
curl_close($ch);
// $masse['mails_error'] liste les adresses refusées, le cas échéant
Con requests, la biblioteca HTTP más habitual.
import requests
BASE = 'https://app.sparrowmessage.com/api/v1'
ENTETES = {'Accept': 'application/json', 'Content-Type': 'application/json'}
# ── Authentification
auth = requests.post(f'{BASE}/login', headers=ENTETES, json={
'email': 'vous@societe.ma',
'password': 'votre-mot-de-passe',
}).json()
if auth.get('code') != 'OK':
raise RuntimeError(auth.get('error', 'Authentification refusée'))
token = auth['user']['api_token']
entetes = {**ENTETES, 'Authorization': f'Bearer {token}'}
# ── Envoi unitaire
envoi = requests.post(f'{BASE}/mail/send/one', headers=entetes, json={
'email': 'client@exemple.com',
'sujet': 'Votre commande #4521 est confirmée',
'html': '<p>Merci pour votre commande.</p>',
}).json()
print(envoi['message_id'])
# ── Envoi en masse
masse = requests.post(f'{BASE}/mail/send/bulk', headers=entetes, json={
'emails': ['client1@exemple.com', 'client2@exemple.com'],
'sujet': 'Nos offres du mois',
'html': '<h1>Nouveautés</h1><p>Découvrez la sélection.</p>',
}).json()
print(masse['message_ids'], masse.get('mails_error'))
fetch está disponible de forma nativa desde Node 18.
const BASE = 'https://app.sparrowmessage.com/api/v1';
const JSON_ENTETES = { 'Accept': 'application/json', 'Content-Type': 'application/json' };
// ── Authentification
const auth = await (await fetch(`${BASE}/login`, {
method: 'POST',
headers: JSON_ENTETES,
body: JSON.stringify({ email: 'vous@societe.ma', password: 'votre-mot-de-passe' })
})).json();
if (auth.code !== 'OK') throw new Error(auth.error || 'Authentification refusée');
const entetes = { ...JSON_ENTETES, Authorization: `Bearer ${auth.user.api_token}` };
// ── Envoi unitaire
const envoi = await (await fetch(`${BASE}/mail/send/one`, {
method: 'POST',
headers: entetes,
body: JSON.stringify({
email: 'client@exemple.com',
sujet: 'Votre commande #4521 est confirmée',
html: '<p>Merci pour votre commande.</p>'
})
})).json();
// ── Envoi en masse
const masse = await (await fetch(`${BASE}/mail/send/bulk`, {
method: 'POST',
headers: entetes,
body: JSON.stringify({
emails: ['client1@exemple.com', 'client2@exemple.com'],
sujet: 'Nos offres du mois',
html: '<h1>Nouveautés</h1><p>Découvrez la sélection.</p>'
})
})).json();
HttpClient, sin dependencias externas.
using System.Net.Http.Json;
const string Base = "https://app.sparrowmessage.com/api/v1";
using var http = new HttpClient();
http.DefaultRequestHeaders.Add("Accept", "application/json");
// ── Authentification
var auth = await (await http.PostAsJsonAsync($"{Base}/login", new {
email = "vous@societe.ma",
password = "votre-mot-de-passe"
})).Content.ReadFromJsonAsync<JsonElement>();
if (auth.GetProperty("code").GetString() != "OK")
throw new Exception(auth.GetProperty("error").GetString());
var token = auth.GetProperty("user").GetProperty("api_token").GetString();
http.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", token);
// ── Envoi unitaire
var envoi = await http.PostAsJsonAsync($"{Base}/mail/send/one", new {
email = "client@exemple.com",
sujet = "Votre commande #4521 est confirmée",
html = "<p>Merci pour votre commande.</p>"
});
// ── Envoi en masse
var masse = await http.PostAsJsonAsync($"{Base}/mail/send/bulk", new {
emails = new[] { "client1@exemple.com", "client2@exemple.com" },
sujet = "Nos offres du mois",
html = "<h1>Nouveautés</h1><p>Découvrez la sélection.</p>"
});
java.net.http, integrado desde Java 11.
String base = "https://app.sparrowmessage.com/api/v1";
HttpClient client = HttpClient.newHttpClient();
// ── Authentification
HttpRequest login = HttpRequest.newBuilder(URI.create(base + "/login"))
.header("Accept", "application/json")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString("""
{"email":"vous@societe.ma","password":"votre-mot-de-passe"}"""))
.build();
String reponse = client.send(login, HttpResponse.BodyHandlers.ofString()).body();
String token = new JSONObject(reponse).getJSONObject("user").getString("api_token");
// ── Envoi unitaire
HttpRequest envoi = HttpRequest.newBuilder(URI.create(base + "/mail/send/one"))
.header("Accept", "application/json")
.header("Content-Type", "application/json")
.header("Authorization", "Bearer " + token)
.POST(HttpRequest.BodyPublishers.ofString("""
{
"email": "client@exemple.com",
"sujet": "Votre commande #4521 est confirmée",
"html": "<p>Merci pour votre commande.</p>"
}"""))
.build();
client.send(envoi, HttpResponse.BodyHandlers.ofString());
// ── Envoi en masse : "emails" est un tableau
HttpRequest masse = HttpRequest.newBuilder(URI.create(base + "/mail/send/bulk"))
.header("Accept", "application/json")
.header("Content-Type", "application/json")
.header("Authorization", "Bearer " + token)
.POST(HttpRequest.BodyPublishers.ofString("""
{
"emails": ["client1@exemple.com", "client2@exemple.com"],
"sujet": "Nos offres du mois",
"html": "<h1>Nouveautés</h1>"
}"""))
.build();
client.send(masse, HttpResponse.BodyHandlers.ofString());
Para probar desde un terminal, antes de escribir una sola línea.
# ── 1. Obtenir le jeton
curl -X POST https://app.sparrowmessage.com/api/v1/login \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"email":"vous@societe.ma","password":"votre-mot-de-passe"}'
# Réponse :
# { "code":"OK", "token":"…", "user":{ "api_token":"…" } }
# ── 2. Envoyer un email
curl -X POST https://app.sparrowmessage.com/api/v1/mail/send/one \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer VOTRE_API_TOKEN" \
-d '{
"email": "client@exemple.com",
"sujet": "Votre commande #4521 est confirmée",
"html": "<p>Merci pour votre commande.</p>"
}'
# ── 3. Envoyer à plusieurs destinataires
curl -X POST https://app.sparrowmessage.com/api/v1/mail/send/bulk \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer VOTRE_API_TOKEN" \
-d '{
"emails": ["client1@exemple.com", "client2@exemple.com"],
"sujet": "Nos offres du mois",
"html": "<h1>Nouveautés</h1><p>Découvrez la sélection.</p>"
}'
Si su aplicación ya sabe enviar correos, no hay nada que programar: basta con cambiar los parámetros del servidor saliente.
Serveur : smtp.sparrowmessage.com
Port : 587 (STARTTLS) · 465 (SSL/TLS) · 2525 (secours)
Sécurité : TLS obligatoire
Utilisateur : fourni à l'ouverture du compte
Mot de passe: fourni à l'ouverture du compte
Expéditeur : une adresse de votre domaine authentifié
# ── Exemple en PHP, avec PHPMailer
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'smtp.sparrowmessage.com';
$mail->SMTPAuth = true;
$mail->Username = 'votre-identifiant';
$mail->Password = 'votre-cle';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('facture@votresociete.ma', 'Votre Société');
$mail->addAddress('client@exemple.com');
$mail->Subject = 'Votre commande #4521 est confirmée';
$mail->isHTML(true);
$mail->Body = '<p>Merci pour votre commande.</p>';
$mail->send();
# ── Exemple en Python, sans dépendance
import smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg['From'] = 'facture@votresociete.ma'
msg['To'] = 'client@exemple.com'
msg['Subject'] = 'Votre commande #4521 est confirmée'
msg.set_content('Merci pour votre commande.')
with smtplib.SMTP('smtp.sparrowmessage.com', 587) as s:
s.starttls()
s.login('votre-identifiant', 'votre-cle')
s.send_message(msg)
Todas las respuestas llevan un campo code por valor de OK ou
KO : en caso de KO, error indica el motivo.
Documentación completa y entorno de pruebas facilitados al abrir la cuenta.
Grandes cuentas, instituciones y administraciones, en Marruecos y en el extranjero. Las mismas organizaciones, sea cual sea el canal.

Comunicación con empleados, proveedores y clientes

Comunicación con clientes y empleados

Comunicación con clientes y empleados

Comunicación con proveedores

Comunicación con clientes y empleados

Comunicación con candidatos y empresas

Comunicación con miembros y socios

Comunicación con socios

Comunicación con socios y donantes

Comunicación con clientes

Notificaciones a clientes desde el CRM

Comunicación con clientes

Comunicación con candidatos y empresas

Comunicación con socios

Comunicación con clientes y socios

Comunicación con proveedores

Comunicación con estudiantes y socios

Comunicación con profesionales del turismo

Comunicación con clientes

Comunicación con socios

Comunicación con clientes y usuarios

Comunicación con estudiantes y administración

Comunicación con estudiantes y administración

Comunicación con clientes y puntos de venta

Comunicación con empleados

Comunicación con clientes y posibles clientes

Comunicación con clientes y posibles clientes

Comunicación con clientes

Comunicación con clientes

Comunicación con clientes

Notificaciones y relación con clientes

Notificaciones a clientes y proveedores

Notificaciones y campañas a clientes
Promociones, novedades, confirmaciones de pedido y recuperación de carritos abandonados.
Extractos, avisos de vencimiento, campañas de fidelización y mensajes reglamentarios.
Convocatorias, resultados, información a las familias y campañas de captación.
Nuevos anuncios dirigidos al segmento adecuado, seguimiento del expediente, recordatorios a posibles clientes.
Aviso de expedición, seguimiento de entrega, información a proveedores.
Convocatorias, avisos de cuota, boletines informativos a los socios.
Comunicación con proveedores, notas internas, campañas de contratación.
Recordatorios de cita, resultados disponibles, campañas de prevención.
La suscripción cubre la plataforma, el servidor de envío y el soporte. El volumen de correos incluido depende del tramo de contactos elegido.
Para empresas que empiezan sus campañas, de 500 a 15 000 contactos.
Para volúmenes sostenidos y envíos transaccionales, de 10 000 a 50 000 contactos.
A partir de 50 000 contactos, o con requisitos propios de su organización.
volumen, dirección IP dedicada y compromiso de servicio definidos con usted
Transferencia bancaria a E-solution, Casablanca. Factura marroquí con ICE, IVA aplicable.
Facturado por E-SOLUTION TECHNOLOGIES LLC, Nueva York — EIN 32-0781906. Útil si su contabilidad trabaja en dólares, esté donde esté.
Los datos bancarios y el enlace de pago seguro se le envían con la factura, nunca se publican en esta página.
Precios sin impuestos. El compromiso anual, abonado por adelantado, tiene un 10 % de descuento sobre la suscripción.
Elija su pack y su volumen de contactos. El presupuesto recoge exactamente lo que seleccione aquí.
Hasta 7 000 correos al mes incluidos.
Se incluyen tres dominios de envío; cada dominio adicional se factura a 100 DH al mes. La IP compartida está incluida y conviene a la mayoría de los volúmenes; la IP dedicada se factura a 100 DH al mes.
El paquete de soporte se factura anualmente.
Estimación orientativa sin impuestos, calculada según nuestras tarifas públicas.
El servidor SMTP se limita a encaminar sus mensajes: hay que componer los correos y gestionar las listas en otro sitio. El pack reúne ambos —la plataforma para crear, segmentar y medir, el servidor para enviar— en una misma suscripción y con una sola factura.
El pack se elige según el número de contactos registrados en su base. A cada tramo le corresponde un volumen de correos incluidos al mes, que permite dirigirse varias veces a sus contactos. Un exceso puntual no bloquea sus envíos: se regulariza con usted.
Es la capacidad de sus correos de llegar a la bandeja de entrada en lugar de a la carpeta de no deseados. Depende de la autenticación de su dominio (SPF, DKIM, DMARC), de la reputación de la dirección IP de envío, de la limpieza de sus listas y del comportamiento de sus destinatarios. Actuamos sobre las cuatro.
No necesariamente. Por debajo de unos 50 000 correos al mes, una IP compartida bien mantenida da mejores resultados: su reputación ya está establecida. La IP dedicada se vuelve interesante por encima de ese volumen, o si sus envíos tienen un perfil muy particular.
Tres registros que publicar: un SPF que autoriza a nuestros servidores a enviar por su dominio, una clave DKIM que firma sus mensajes y una política DMARC que indica a los buzones qué hacer con un correo que no supere esas comprobaciones. Le facilitamos los valores exactos y verificamos la propagación.
Sí, desde un archivo CSV o Excel, o directamente desde su CRM. La importación elimina duplicados, descarta las direcciones mal formadas y conserva las bajas anteriores. En cambio, una base comprada o recogida sin consentimiento debe descartarse: daña de forma duradera su reputación de remitente.
Sí. Confirmaciones, facturas y códigos de verificación toman una cola distinta de la de las campañas: una campaña grande en curso nunca retrasa un correo que su cliente está esperando.
Sí, al alza en cualquier momento, con un ajuste prorrateado. A la baja, el cambio surte efecto al vencimiento del periodo en curso.
En Marruecos, el tratamiento de datos personales se rige por la ley 09-08 y la CNDP. Su fichero de contactos debe declararse, y cada envío comercial exige el consentimiento previo del destinatario. El enlace de baja figura en todos nuestros envíos y se atiende de inmediato; los consentimientos, fechas de recogida y solicitudes de supresión se conservan y se pueden exportar como justificantes. No somos juristas: haga validar su dispositivo y su declaración ante la CNDP por su asesoría.
En Estados Unidos, el envío comercial por correo electrónico se rige por la CAN-SPAM Act, aplicada por la Federal Trade Commission. Pesan tres obligaciones sobre el remitente: una dirección postal física válida en cada mensaje, un asunto y una cabecera que no engañen sobre el contenido ni sobre la identidad del remitente, y un mecanismo de baja atendido en diez días hábiles. El enlace de baja figura en todos nuestros envíos y se aplica de inmediato; las solicitudes de supresión se conservan y se pueden exportar. No somos juristas: haga validar su dispositivo por su asesoría, en particular si también se dirige a California, cuya CCPA añade sus propias obligaciones.
El enlace de baja está presente en cada envío y se procesa de inmediato. Los consentimientos, las fechas de recogida y las solicitudes de supresión se conservan y se pueden exportar, lo que alimenta su registro de tratamientos. No somos juristas: para sus cláusulas informativas y la base legal de sus envíos, haga validar su dispositivo por su asesoría.
La apertura de la cuenta, la autenticación del dominio y la primera campaña de prueba se acompañan. Puede añadirse una jornada de formación para sus equipos de marketing, y la integración con su sistema de información se presupuesta en días-hombre.
Una demostración de 30 minutos basta para ver la plataforma, el editor y las estadísticas sobre un caso parecido al suyo.
Solicitar una demo
Su plataforma de emailing operativa en 4 fases
De la firma al primer envío, un recorrido marcado y un único interlocutor.
Plazo habitual: cuenta abierta en 24 h, primer envío en cuanto se propaguen los registros DNS.