Transférer des messages SMS vers un E-mail à l’aide de Node.js

Aperçu

Les entreprises reçoivent des communications par de nombreux canaux. Il peut être pratique d’avoir une archive consultable des messages en un seul endroit. Le transfert de messages SMS vers un e-mail vous permet de conserver les deux types de messages au même endroit. Plivo facilite le transfert de messages SMS vers des e-mails en utilisant les langages de développement Web les plus populaires. Ici, nous parcourons le processus avec .NET.

Prérequis

  • Compte Plivo: Créez un compte Plivo si vous n’en avez pas déjà un.

  • Numéro de téléphone Plivo: Pour recevoir des SMS, vous devez avoir un numéro de téléphone Plivo prenant en charge les SMS. Vous pouvez acheter des numéros depuis la page Numbers de la console Plivo ou en utilisant l’API Numbers.

     Acheter un nouveau numéro Plivo

L’exemple de code ci-dessous suppose que vous avez un compte Gmail, mais il est facile de modifier le code pour prendre en charge un autre client SMTP.

Installer le nœud.js et autres modules

Vous devez configurer et installer d’autres modules Node pour transférer les SMS entrants vers les e-mails. Voici comment.

Installation

Système d’exploitation Instructions
macOS et Linux Pour voir si vous avez déjà Node.js installé, exécutez la commande nodeversionversion dans le terminal. Si vous ne l’avez pas installé, vous pouvez l’installer à partir d’ici.
Windows Pour installer le nœud.js sur Windows, vous pouvez le télécharger à partir d’ici et l’installer.

Créer un projet

  • Créez un répertoire de projet, exécutez la commande suivante:

    $ mkdir mynodeapp
  • Remplacez le répertoire par notre répertoire de projet dans la ligne de commande:

    $ cd mynodeapp

Installer des modules npm

  • Installez le SDK à l’aide de npm

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

Transférer un SMS vers un e-mail

Créer un fichier (nous avons appelé le nôtre e-mail.js) et collez-y ce code.

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'));});

Pour exécuter ce fichier sur le serveur, accédez au dossier où réside le fichier et utilisez la commande

$ node email.js
Note: Si vous utilisez Gmail pour envoyer des e-mails, vous devrez utiliser un mot de passe de l’application, qui sera traité comme votre mot de passe pour envoyer des e-mails depuis l’application.

Exposer votre serveur local à Internet

Pour recevoir des Messages entrants et gérer les rappels, votre serveur local doit pouvoir se connecter au service API Plivo, Ngrok est un logiciel de tunneling utilisé pour exposer un serveur web fonctionnant sur votre machine locale à Internet. En utilisant Ngrok, vous pouvez définir des webhooks qui peuvent parler au serveur Plivo.

 schéma bloc ngrok

Installez ngrok et exécutez-le sur la ligne de commande, en spécifiant le port qui héberge l’application sur laquelle vous souhaitez recevoir des messages (5000 dans ce cas):

$ ./ngrok http 5000

Ngrok affichera un lien de transfert que vous pouvez utiliser comme webhook pour accéder à votre serveur local sur le réseau public.

 Exemple de CLI ngrok

Créer une application

  1. Créer une application Plivo en visitant Messaging > Applications et en cliquant sur Add New Application, ou en utilisant l’API de l’application Plivo.
  2. Donnez un nom à votre application — nous avons appelé notre Email SMS. Entrez l’URL de votre serveur (par exemple https://61d8fb8f250c.ngrok.io/email_sms/) dans le champ Message URL et définissez la méthode sur POST.
  3. Cliquez sur 'Create Application' pour enregistrer votre candidature.

 Créer une application

Attribuez un numéro Plivo à votre application

  1. Accédez à la page Numéros et sélectionnez le numéro de téléphone que vous souhaitez utiliser pour l’application.
  2. Sélectionnez Application XML dans la liste déroulante Type d’application et Email SMS (le nom de l’application) dans la liste déroulante Application Plivo.
  3. Cliquez sur Update Number pour enregistrer.

 Attribuez l'application

Testez et validez

Puis envoyez un SMS au numéro Plivo que vous avez associé à l’application à l’aide d’un téléphone portable ordinaire.Le message entrant doit être reflété dans votre e-mail.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.