Reenviar Mensajes SMS a Correo electrónico mediante Nodo.js

Descripción general

Las empresas obtienen comunicaciones a través de muchos canales. Puede ser útil tener un archivo de mensajes con capacidad de búsqueda en un solo lugar. Reenviar mensajes SMS a correo electrónico le permite mantener ambos tipos de mensajes en un solo lugar. Plivo facilita el reenvío de mensajes SMS al correo electrónico utilizando los lenguajes de desarrollo web más populares. Aquí recorremos el proceso con. NET.

Requisitos previos

  • Cuenta Plivo: Regístrese para obtener una cuenta Plivo si aún no tiene una.

  • Número de teléfono de Plivo: Para recibir SMS, debe tener un número de teléfono de Plivo que admita SMS. Puede comprar numbers desde la página Numbers de la consola Plivo o mediante la API Numbers.

     Compre un Nuevo número de Plivo

El siguiente ejemplo de código supone que tienes una cuenta de Gmail, pero es fácil editar el código para admitir otro cliente SMTP.

Nodo de instalación.js y otros módulos

Debe configurar e instalar otros módulos de Nodo para reenviar los SMS entrantes al correo electrónico. He aquí cómo.

Instalación

Sistema Operativo Instrucciones
macOS y Linux A ver si ya han Nodo.js instalado, ejecute el comando node version version en el terminal. Si no lo tiene instalado, puede instalarlo desde aquí .
Windows Para instalar el Nodo.js en Windows puede descargarlo desde aquí e instalarlo.

Crear proyecto

  • Cree un directorio de proyecto, ejecute el siguiente comando:

    $ mkdir mynodeapp
  • Cambiar el directorio a nuestro directorio de proyecto en la línea de comandos:

    $ cd mynodeapp

Instalar módulos npm

  • Instalar el SDK mediante npm

    $ npm install express$ npm install nodemailer$ npm install body-parser

Reenviar SMS a correo electrónico

Crear un archivo (lo llamamos nuestro correo electrónico.js) y pegue en él este código.

1234567891011121314151617181920212223242526272829303132333435363738394041424344
var express = require('express');var nodemailer = require("nodemailer");var app = express();app.use(express.urlencoded({extended: true}));app.set('port', (process.env.PORT || 5000));app.all('/email_sms/', function(request, response) { // Sender's phone number var from_number = request.body.From || request.query.From; // Receiver's phone number - Plivo number var to_number = request.body.To || request.query.To; // The text which was received var text = request.body.Text || request.query.Text; // Print the message console.log('Message received from: ' + from_number + ': ' + text); var transporter = nodemailer.createTransport({ service: 'gmail', auth: { user: "<email_address>", pass: "<password>" } }); var mailOptions = { from: "<from_email_addres>", // sender address to: "<recipient_email_address>", // comma separated list of receivers subject: "SMS from ", from_number, // Subject line text: text // plaintext body }; transporter.sendMail(mailOptions, function(error, info) { if (error) { console.log(error); } else { console.log('Email sent: ' + info.response); } });});app.listen(app.get('port'), function() { console.log('Node app is running on port', app.get('port'));});

Para ejecutar este archivo en el servidor, vaya a la carpeta donde reside el archivo y utilice el comando

$ node email.js
Nota: Si usas Gmail para enviar correos electrónicos, tendrás que usar una contraseña de la aplicación, que se tratará como tu contraseña para enviar correos electrónicos desde la aplicación.

Exponer su servidor local a Internet

Para recibir mensajes entrantes y gestionar devoluciones de llamada, su servidor local debe poder conectarse con el servicio API de Plivo, Ngrok es un software de túnel utilizado para exponer a Internet un servidor web que se ejecuta en su máquina local. Usando Ngrok puede configurar webhooks que pueden comunicarse con el servidor Plivo.

 diagrama de bloques ngrok

Instale ngrok y ejecútelo en la línea de comandos, especificando el puerto que aloja la aplicación en la que desea recibir mensajes (5000 en este caso):

$ ./ngrok http 5000

Ngrok mostrará un enlace de reenvío que puede usar como un webhook para acceder a su servidor local a través de la red pública.

 Ejemplo de CLI ngrok

Crear una aplicación

  1. Crear una aplicación Plivo visitando Aplicaciones de mensajería > y haciendo clic en Add New Application, o utilizando la API de aplicaciones de Plivo.
  2. Dé un nombre a su solicitud, lo que llamamos Email SMS. Introduzca la URL de su servidor (por ejemplo https://61d8fb8f250c.ngrok.io/email_sms/) en el campo Message URL y establezca el método como POST.
  3. Haga clic en 'Create Application' para guardar su aplicación.

Crear aplicación

Asignar un número Plivo a su aplicación

  1. Vaya a la página Numbers y seleccione el número de teléfono que desea utilizar para la aplicación.
  2. Seleccione Aplicación XML en la lista desplegable Tipo de aplicación y Email SMS (el nombre de la aplicación) en la lista desplegable Aplicación Plivo.
  3. Haga clic en Update Number para guardar.

Asigne la aplicación

Pruebe y valide

Luego envíe un mensaje de texto al número de Plivo que asoció con la aplicación utilizando un teléfono móvil normal.El mensaje entrante debe reflejarse en su correo electrónico.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.