Product

Soluciones

Recursos

Compañía

Product

Soluciones

Recursos

Compañía

Una guía para utilizar SparkPost con Node.js

Pájaro

1 sept 2017

Correo electrónico

1 min read

Una guía para utilizar SparkPost con Node.js

Pájaro

1 sept 2017

Correo electrónico

1 min read

Una guía para utilizar SparkPost con Node.js

Como defensor de desarrolladores para SparkPost, escribo muchas aplicaciones de muestra. Mi experiencia es principalmente en desarrollo front-end, por lo que mi lenguaje más fuerte es JavaScript. Gracias a Node.js, también soy un buen desarrollador backend. ¿Significa esto que ahora soy un desarrollador full stack?

Introducción a Node.js

Como defensor de desarrolladores para SparkPost, escribo muchas aplicaciones de muestra. Mi experiencia es principalmente en desarrollo front-end, por lo tanto, mi lenguaje más fuerte es JavaScript. Gracias a Node.js, también soy un desarrollador backend decente. Hablando de aplicaciones de muestra, Node.js también funciona muy bien para construir funciones serverless que se integran con Flow Builder - como nuestra guía de integración de Google Cloud Functions and Vision API. ¿Significa esto que soy ahora un desarrollador full stack? De cualquier manera, era importante para mí que tuviéramos una increíble biblioteca cliente de SparkPost para Node.js. Así que me lancé de lleno y me convertí en colaborador (incluso antes de ser contratado).

Permítanme ayudarles a comenzar a enviar correos electrónicos con SparkPost en su proyecto Node.js. Antes de profundizar en los detalles específicos de Node.js, quizás quieran entender los fundamentos de las APIs de correo electrónico en la infraestructura en la nube y cómo encajan en el desarrollo moderno de aplicaciones.

Instalación y Configuración

Voy a asumir que tienes Node.js instalado. Debido a que seguimos el Node.js Long Term Support (LTS) schedule, necesitarás estar utilizando la versión 4 o superior. Puedes ver qué versión estás utilizando con el comando `node –version` en tu ventana de terminal.

Vamos a crear un nuevo proyecto npm. Si ya tienes uno, puedes omitir esta parte.

> mkdir sparkpost-test > cd sparkpost-test > npm init --yes

Esto creará un nuevo proyecto y aceptará todas las configuraciones predeterminadas. También puedes ejecutar `npm init` y responder a todos los mensajes.

Ahora podemos instalar node-sparkpost:

> npm install sparkpost --save

Una vez instalado, puedes importar y crear una instancia de la clase SparkPost:

const SparkPost = require('sparkpost') const client = new SparkPost('YOUR API KEY')

Es una buena práctica evitar poner tu clave API en el código. Recomendamos encarecidamente almacenarla fuera de tu código, por lo que configuramos la biblioteca del cliente para detectar la variable de entorno SPARKPOST_API_KEY .

Voy a asumir que tienes Node.js instalado. Debido a que seguimos el Node.js Long Term Support (LTS) schedule, necesitarás estar utilizando la versión 4 o superior. Puedes ver qué versión estás utilizando con el comando `node –version` en tu ventana de terminal.

Vamos a crear un nuevo proyecto npm. Si ya tienes uno, puedes omitir esta parte.

> mkdir sparkpost-test > cd sparkpost-test > npm init --yes

Esto creará un nuevo proyecto y aceptará todas las configuraciones predeterminadas. También puedes ejecutar `npm init` y responder a todos los mensajes.

Ahora podemos instalar node-sparkpost:

> npm install sparkpost --save

Una vez instalado, puedes importar y crear una instancia de la clase SparkPost:

const SparkPost = require('sparkpost') const client = new SparkPost('YOUR API KEY')

Es una buena práctica evitar poner tu clave API en el código. Recomendamos encarecidamente almacenarla fuera de tu código, por lo que configuramos la biblioteca del cliente para detectar la variable de entorno SPARKPOST_API_KEY .

Voy a asumir que tienes Node.js instalado. Debido a que seguimos el Node.js Long Term Support (LTS) schedule, necesitarás estar utilizando la versión 4 o superior. Puedes ver qué versión estás utilizando con el comando `node –version` en tu ventana de terminal.

Vamos a crear un nuevo proyecto npm. Si ya tienes uno, puedes omitir esta parte.

> mkdir sparkpost-test > cd sparkpost-test > npm init --yes

Esto creará un nuevo proyecto y aceptará todas las configuraciones predeterminadas. También puedes ejecutar `npm init` y responder a todos los mensajes.

Ahora podemos instalar node-sparkpost:

> npm install sparkpost --save

Una vez instalado, puedes importar y crear una instancia de la clase SparkPost:

const SparkPost = require('sparkpost') const client = new SparkPost('YOUR API KEY')

Es una buena práctica evitar poner tu clave API en el código. Recomendamos encarecidamente almacenarla fuera de tu código, por lo que configuramos la biblioteca del cliente para detectar la variable de entorno SPARKPOST_API_KEY .

Enviando Email

Ahora que tienes una instancia de SparkPost, estás listo para enviar. Hay bastantes opciones disponibles para enviar, pero comencemos con un ejemplo simple. Aquí te mostramos cómo enviar un correo electrónico a un solo destinatario, especificando contenido en línea:

client.transmissions.send({
  content: {
    from: 'test@your-sending-domain.com',
    subject: 'Hello from node-sparkpost',
    html: '<p>Hello world</p>'
  },
  recipients: [
    { address: 'someone@somedomain.com' }
  ]
})
.then(data => {
  console.log('Woohoo! You just sent your first mailing!')
  console.log(data)
})
.catch(err => {
  console.log('Whoops! Something went wrong')
  console.log(err)
})

Nota: Este ejemplo utiliza Promesas, pero no te preocupes. También soportamos funciones de callback.

Para aplicaciones empresariales que requieren una gestión de correo electrónico exhaustiva, los desarrolladores también deben considerar construir sistemas de archivo de correo electrónico para manejar los requisitos de almacenamiento y cumplimiento.

Hay más opciones disponibles con las transmisiones, incluidas la especificación de plantillas almacenadas o listas de destinatarios, cc y bcc, agregar archivos adjuntos, especificar una campaña, usar datos de sustitución y mucho más. Consulta los ejemplos, la documentación para el recurso de Transmissions, y la documentación de la API de Transmissions para más información.

Bonus: Enviar Email con Nodemailer

Nodemailer es una biblioteca popular para Node.js que hace que enviar correos electrónicos sea “fácil como un pastel”. Para aquellos que elijan usar esta biblioteca, hemos creado un transportador de SparkPost para Nodemailer. Necesitarás instalar los paquetes nodemailer y nodemailer-sparkpost-transport en tu proyecto.

> npm install nodemailer nodemailer-sparkpost-transport --save

Ahora puedes crear una instancia de transporte de nodemailer:

const nodemailer = require('nodemailer') 
const sparkPostTransport = require('nodemailer-sparkpost-transport') 
const transporter = nodemailer.createTransport(sparkPostTransport({ 
  'sparkPostApiKey': process.env.SPARKPOST_API_KEY 
}))

Observa cómo estoy leyendo la clave API desde una variable de entorno. Sigue siendo una buena práctica no poner eso directamente en tu código.

Hay varias opciones que se pueden pasar al transportador de SparkPost, como el id de campaña y si el mensaje es o no transaccional. Echa un vistazo al README.md para ver todas las opciones.

Aquí tienes cómo enviarías el mismo mensaje anterior usando Nodemailer:

transporter.sendMail(
  {
    from: 'test@your-sending-domain.com',
    to: 'someone@somedomain.com',
    subject: 'Hello from nodemailer-sparkpost-transport',
    html: '<p>Hello world</p>'
  },
  (err, info) => {
    if (err) {
      console.error(err);
    } else {
      console.log(info);
    }
  }
);

Doble Bonificación: Enviar Correo Electrónico con notif.me

Todos sabemos que el correo electrónico es el rey de la comunicación, pero a veces quieres poder llegar a las personas a través de múltiples canales. notif.me es una biblioteca de Node.js para enviar todo tipo de mensajes transaccionales. Ya sea que desees enviar un correo electrónico, SMS, notificaciones push o webpushes, puedes hacerlo con facilidad. También tiene estrategias de respaldo y round robin integradas para múltiples proveedores. Recientemente trabajamos con los creadores para construir un proveedor de SparkPost. Necesitarás instalar el paquete `notifme-sdk` en tu proyecto.

> npm install notifme-sdk --save

Ahora puedes crear una instancia de notifme con el proveedor de SparkPost:

const NotifmeSdk = require('notifme-sdk').default;
const notifmeSdk = new NotifmeSdk({
  channels: {
    email: {
      providers: [
        {
          type: 'sparkpost',
          apiKey: process.env.SPARKPOST_API_KEY
        }
      ]
    }
  }
});

Nuevamente, estamos extrayendo la clave de API de una variable de entorno. Lo hemos dicho tres veces: es así de importante. 🙂

Ahora repitamos este mismo ejemplo, esta vez usando notif.me:

notifmeSdk.send({
  email: {
    from: 'test@your-sending-domain.com',
    to: 'someone@somedomain.com',
    subject: 'Hello from the SparkPost notif.me provider',
    html: '<p>Hello world</p>'
  }
})
.then(console.log)
.catch(console.error);

Es realmente fácil de usar y recomiendo mirar las otras características.

No hay una forma incorrecta de Node

Cuando se trata de enviar correos electrónicos usando Node.js, tienes muchas opciones. Hemos trabajado arduamente para ayudar a que sea lo más sencillo posible.

Una persona está de pie en un escritorio mientras escribe en un laptop.

La plataforma completa nativa de AI que escala con tu negocio.

Product

Soluciones

Recursos

Compañía

Configuración de privacidad

Próximamente

Social

Newsletter

Mantente al día con Bird a través de actualizaciones semanales en tu buzón.

Signup

© 2025 Bird

Una persona está de pie en un escritorio mientras escribe en un laptop.

La plataforma completa nativa de AI que escala con tu negocio.

Product

Soluciones

Recursos

Compañía

Configuración de privacidad

Social

Newsletter

Mantente al día con Bird a través de actualizaciones semanales en tu buzón.

Signup

© 2025 Bird