Comience a enviar su propio correo electrónico con esta API amigable y la configuración mínima.
En el mundo digital acelerado de hoy, el marketing por correo electrónico es una herramienta esencial para que las empresas lleguen a sus clientes de manera efectiva. Sin embargo, implementar un sistema de correo electrónico puede ser un proceso complejo y lento, especialmente para los desarrolladores que son nuevos en la tarea.
Afortunadamente, con Sendinblue, enviar correos electrónicos es una tarea muy fácil. Como plataforma de software como servicio (SaaS), Sendinblue proporciona todo lo que necesita como propietario o desarrollador de un negocio para enviar sus correos electrónicos a sus usuarios con mucha facilidad.
¿Qué es Sendinblue?
SendinBlue es una plataforma de software como servicio (SaaS) que ofrece una solución de marketing por correo electrónico fácil de usar para pequeñas, medianas y grandes empresas. SendinBlue proporciona una plataforma que ayuda a las empresas a hacer crecer sus relaciones con sus clientes, principalmente a través de servicios de correo electrónico y SMS.
SendinBlue también ofrece API y herramientas que permiten a los desarrolladores automatizar y enviar correos electrónicos y SMS. Estas herramientas son fáciles de integrar con Node.js y otros lenguajes de programación para crear campañas de correo electrónico y SMS personalizadas.
Con SendinBlue, las empresas pueden optimizar los procesos de comunicación y llegar a los usuarios o clientes de manera más eficiente.
Cómo obtener las credenciales de la API de SendinBlue
Para utilizar las API y los SDK de SendinBlue, el primer requisito previo es una cuenta de SendinBlue. SendinBlue proporciona un proceso de registro fácil y puede crear una cuenta en el Página de registro de SendinBlue.
Cree una cuenta, ingrese los detalles requeridos y elija un plan adecuado en el proceso de incorporación. SendinBlue luego lo redirigirá a su panel de control donde podrá obtener sus credenciales de API.
Para obtener sus credenciales de API, siga los pasos a continuación.
- Haga clic en el nombre de su organización en la esquina superior derecha del tablero.
- Seleccionar SMTP y API del menú que se despliega.
- Cambiar a la Claves API pestaña y haga clic en elGenerar una nueva clave API botón.
- En la ventana emergente que aparece, asigne un nombre a su clave, copie la cadena generada y luego guárdela de forma segura.
Esta cadena es su clave API y su credencial de identidad que debe almacenar cuidadosamente para que no caiga en las manos equivocadas.
Cómo construir un sistema de envío de correo electrónico en Node.js
Node.js no tiene un paquete de correo electrónico incorporado como Golang. Para enviar correos electrónicos, necesita un paquete externo como nodemailer o el que proporciona SendinBlue.
También necesitará un conocimiento práctico de Node.js y un entorno de desarrollo de Node.js en su máquina.
Considere esta sencilla aplicación Node/Express con un /waitlist punto final:
// servidor.js
constante expresar = requerir('expresar');// crear servidor
constante servidor = expreso();
constante puerto = 3333;servidor.escuchar (puerto, () => {
consola.registro(`servidor escuchando en el puerto ${puerto}`);
})// crear punto final de lista de espera
servidor.uso('/lista de espera', asíncrono (requerido, res) => {
intentar {
constante usuario = req.cuerpo;
consola.registro(`${usuario.nombre completo} se unió a la lista de espera`);
res.status(200).json({ mensaje: 'Se unió a la lista de espera con éxito' })
} atrapar (error) {
consola.error (error)
res.status(500).json({ mensaje: 'Ocurrió un error' })
}
})
Puede usar SendinBlue para enviar un correo electrónico de bienvenida a un usuario que se une a la lista de espera.
El primer paso es instalar el SDK usando npm o cualquier otro administrador de paquetes. Correr npm instalar sib-api-v3-sdk o añadir hilo sib-api-v3-sdk en la carpeta de su proyecto para agregarlo a las dependencias del proyecto.
Después de la instalación, estará listo para comenzar a enviar correos electrónicos con solo unas pocas líneas de código más. En un proyecto más grande, probablemente querrá aislar la funcionalidad de correo electrónico en un archivo separado. Sin embargo, para esta demostración, puede continuar usando el mismo servidor.js archivo.
Importar el sib-api-v3-sdk paquete y configure el cliente de SendinBlue como se muestra a continuación:
constante SibApi = requerir('sib-api-v3-sdk');
// instanciar el nuevo cliente API de SendinBlue
constante SibClient = SibApi. ApiClient.instancia;
// Autenticación
SibClient.autenticaciones['Clave API'].apiKey = proceso.env. SIB_API_CLAVE
|| 'TU_API_CLAVE_AQUÍ';
A continuación, establezca alguna configuración y cree una función para enviar los correos electrónicos de bienvenida:
constante transacciónEmailApi = nuevo SibApiSDK.TransactionalEmailsApi();
dejar smtpMailData = nuevo SibApiSDK.SendSmtpEmail();
constante remitente = {
correo electrónico: '[email protected]', // Su dirección de correo electrónico
nombre: 'Remitente de ejemplo',
};
constante Enviar correo electrónico de lista de espera = asíncrono (datos de usuario) => {
}
El transacciónEmailApiLa variable almacena un objeto que le permite enviar correos electrónicos de transacciones (como se les llama en SendinBlue). El smtpMailData La variable almacenará los datos del correo electrónico de transacción que necesitará para enviar cada correo electrónico: el destinatario, el contenido, etc.
Ahora vamos al cuerpo del EnviarLista de esperaCorreo electrónico función. El siguiente código muestra cómo debería verse el cuerpo de la función.
constante Enviar correo electrónico de lista de espera = asíncrono (datos de usuario) => {
intentar {
smtpMailData.sender = remitente;smtpMailData.to = [{
correo electrónico: datos de usuario.correo electrónico,
nombre: userData.fullname
}];smtpMailData.subject = '¡Estás en la lista de espera!';
smtpMailData.params = {
'nombre': datos de usuario. nombre completo,
'gorjeo': '@hacer uso de'
};smtpMailData.htmlContenido = "
";Hola, {{ params.name }}, "
+ "Bienvenido a la lista de espera de makeuseof.com. Te avisaremos"
+ "cuando lanzamos. Por favor, síganos en Twitter "
+ "{{ params.twitter }}.
// enviar correo electrónico
esperar transacciónEmailApi.sendTransacEmail (smtpMailData)
.entonces((datos) => {
consola.Dato de registro) // registrar la identificación de correo electrónico
})
.atrapar((error) => {
consola.error (error)
tirarnuevoError(error) // manejar errores
})
} atrapar (error) {
consola.registro('Ocurrió un error...')
consola.error (error)
tirarnuevoError(error) // manejar errores
}
}
La mayor parte de este código rellena las propiedades clave del smtpMailData objeto. En orden, estos son:
- remitente: Un objeto que contiene dos propiedades: correo electrónico y nombre. El código anterior usa una dirección de correo electrónico ficticia, pero debe usar una dirección de correo electrónico real que funcione para las aplicaciones de producción.
- a: Esta es una matriz de destinatarios de correo electrónico. Los elementos de esta matriz son objetos definidos con los datos (correo electrónico y nombre) del destinatario del correo electrónico. Puede tener hasta 50 destinatarios por mensaje. Técnicamente, es posible enviar su mensaje a más de 50 a la vez, pero hacerlo aumenta el riesgo de que los agentes de correo electrónico lo traten como spam.
- sujeto: Este es el asunto del correo electrónico a enviar.
- parámetros: Estos son datos adicionales que puede usar en varias partes de su correo electrónico (principalmente el asunto y el contenido). Puedes usar valores de este parámetros objeto encerrándolos entre llaves dobles (es decir, {{ params.nombre }}).
- contenido html: Esta propiedad define el cuerpo del mensaje. Ayuda a definir el cuerpo del mensaje del correo electrónico, que puede formatear usando HTML. También tiene una alternativa, contenido del texto, que mantiene el cuerpo del mensaje claro.
El correo electrónico puede tener más propiedades, y puedes descubrirlas todas en Documentación para desarrolladores de SendinBlue.
Finalmente, el enviarTransacCorreo electrónico método de transacciónEmailApi envía el correo electrónico y devuelve la identificación del correo electrónico.
Habiendo implementado la EnviarLista de esperaCorreo electrónico función, puede llamarla en el extremo de la lista de espera. El punto final de la lista de espera anterior ahora se verá así:
servidor.uso('/lista de espera', asíncrono (requerido, res) => {
intentar {
constante usuario = req.cuerpo;consola.registro(`${usuario.nombre completo} se unió a la lista de espera`);
// llamar a la función de remitente de correo electrónico
esperar SendWaitlistEmail (usuario)
res.status(200).json({ mensaje: 'Se unió a la lista de espera con éxito' })
} atrapar (error) {
consola.error (error)
res.status(500).json({ mensaje: 'Ocurrió un error interno del servidor' })
}
})
Puede iniciar su aplicación y probar su punto final de lista de espera en un cliente API REST o desde la interfaz de su aplicación. Aquí hay una solicitud de prueba de ejemplo de Postman.
Así es como se ve el correo electrónico recibido. Observe que los valores de la parámetros el objeto está presente.
Si revisas tu terminal, también verás el mensajeId impreso en la consola. Puede almacenar este valor en una base de datos o registro para identificar un correo electrónico en particular.
También puede considerar revisar algunos consejos para evitar que los correos electrónicos vayan al correo no deseado de los destinatarios.
Aunque este sistema de correo electrónico funciona correctamente, hacer que el extremo llame directamente a la función del remitente del correo electrónico no es el enfoque más eficiente. Podría hacer que su aplicación espere innecesariamente mientras envía el correo electrónico. Para evitar esto, debe optimizar el proceso implementar una cola de tareas para manejar la carga de trabajo del correo electrónico.
Enviar correos electrónicos en Node.js nunca ha sido tan fácil
Es satisfactorio darse cuenta de que puede crear un servicio para enviar correos electrónicos en Node.js muy fácilmente.
Más allá del alcance de esta guía, hay mucho más que puede hacer con SendinBlue. Puede enviar diferentes versiones de correo electrónico a diferentes destinatarios a la vez, utilice las plantillas de correo electrónico proporcionadas por SendinBlue, configure webhooks para detectar acciones realizadas por sus destinatarios de correo electrónico y vea en tiempo real analítica.
Puede explorar estas características revisándolas en el portal para desarrolladores e implementándolas en sus aplicaciones de Node.js.