SMS-berichten doorsturen naar e-mail met behulp van Node.js

overzicht

bedrijven ontvangen communicatie via vele kanalen. Het kan handig zijn om een doorzoekbaar archief van berichten op één plaats. Doorsturen van SMS-berichten naar e-mail kunt u beide soorten berichten op één plek te houden. Plivo maakt het eenvoudig om SMS-berichten door te sturen naar e-mail met behulp van de meest populaire web development talen. Hier lopen we door het proces met. NET.

Prerequisites

  • Plivo-account: Meld je aan voor een Plivo-account als je er nog geen hebt.

  • Plivo telefoonnummer: om SMS te ontvangen, moet u een Plivo telefoonnummer hebben dat SMS ondersteunt. U kunt nummers kopen via de nummerpagina van de plivo console of via de Numbers API.

    koop een nieuw Plivo-nummer

in het onderstaande codevoorbeeld wordt ervan uitgegaan dat u een Gmail-account hebt, maar het is eenvoudig om de code te bewerken om een andere SMTP-client te ondersteunen.

Installeer Het Knooppunt.js en andere modules

u moet Node andere modules instellen en installeren om inkomende SMS door te sturen naar e-mail. Dit is hoe.

installatie

besturingssysteem instructies
macOS en Linux om te zien of u al Node hebt.js geïnstalleerd, voer de command node –version uit in de terminal. Als u het niet hebt geïnstalleerd, kunt u het vanaf hier installeren .
Windows om het knooppunt te installeren.js op Windows u kunt het downloaden van hier en installeren.

project aanmaken

  • Maak een projectmap aan, voer het volgende commando uit:

    $ mkdir mynodeapp
  • Wijzig de map naar onze projectmap op de opdrachtregel:

    $ cd mynodeapp

NPM-modules installeren

  • installeer de SDK met npm

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

Stuur SMS door naar e-mail

Maak een bestand aan (we noemden ons e-mail.js) en plak deze code erin.

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

om dit bestand op de server uit te voeren, ga je naar de map waar het bestand zich bevindt en gebruik je het commando

$ node email.js
opmerking: Als u Gmail gebruikt om e-mail te verzenden, moet u een app-wachtwoord gebruiken, dat wordt behandeld als uw wachtwoord om e-mail vanuit de app te verzenden.

Expose your local server to the internet

om inkomende berichten te ontvangen en callbacks af te handelen, moet uw lokale server in staat zijn om verbinding te maken met Plivo API service, Ngrok is een tunneling software gebruikt om een webserver die draait op uw lokale machine bloot te stellen aan het internet. Met behulp van Ngrok kunt u webhooks instellen die met de plivo-server kunnen praten.

ngrok blokschema

Installeren ngrok en voer het uit op de commando-regel, het opgeven van de poort waarop de toepassing waarvoor u berichten wilt ontvangen (5000 in dit geval):

$ ./ngrok http 5000

Ngrok zal een link doorsturen die u kunt gebruiken als een webhook om toegang te krijgen tot uw lokale server via het openbare netwerk.

Sample ngrok CLI

Maak een toepassing

  1. Maak een Plivo-toepassing door berichten > toepassingen te bezoeken en op Add New Application te klikken, of door Plivo ‘ s applicatie API te gebruiken.
  2. geef uw aanvraag een naam — We noemden onze Email SMS. Voer de URL van uw server in (bijvoorbeeld https://61d8fb8f250c.ngrok.io/email_sms/) in het veld Message URL en stel de methode in als POST.
  3. klik op 'Create Application' om uw toepassing op te slaan.

applicatie

Wijs een Plivo-nummer toe aan uw app

  1. Navigeer naar de pagina nummers en selecteer het telefoonnummer dat u voor de app wilt gebruiken.
  2. Selecteer XML-toepassing uit de vervolgkeuzelijst toepassingstype en Email SMS (de naam van de toepassing) uit de vervolgkeuzelijst Plivo-toepassing.
  3. klik op Update Number om op te slaan.

applicatie

Test en valideer

stuur vervolgens een sms – bericht naar het Plivo-nummer dat u aan de applicatie hebt gekoppeld met behulp van een gewone mobiele telefoon.Het inkomende bericht moet worden weergegeven in uw e-mail.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.