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.
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
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.
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.
Crear una aplicación
- 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. - 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 campoMessage URL
y establezca el método comoPOST
. - Haga clic en
'Create Application'
para guardar su aplicación.
Asignar un número Plivo a su aplicación
- Vaya a la página Numbers y seleccione el número de teléfono que desea utilizar para la aplicación.
- 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. - Haga clic en
Update Number
para guardar.
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.