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.
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
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.
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.
Créer une application
- 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. - 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 champMessage URL
et définissez la méthode surPOST
. - Cliquez sur
'Create Application'
pour enregistrer votre candidature.
Attribuez un numéro Plivo à votre application
- Accédez à la page Numéros et sélectionnez le numéro de téléphone que vous souhaitez utiliser pour l’application.
- 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. - Cliquez sur
Update Number
pour enregistrer.
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.