Home Web Front-end Front-end Q&A How to send text messages in nodejs

How to send text messages in nodejs

May 08, 2023 pm 04:08 PM

Node.js is an open source server operating environment written in JavaScript language. It is efficient, fast, lightweight and scalable. In practical applications, Node.js can help developers easily implement various functions, including sending text messages.

In this article, we will detail how Node.js sends text messages and how to use existing SMS services to achieve this functionality.

1. Use Node.js to send text messages

1. Install dependencies

First, we need to install one of the official modules of Node.js-"twilio", you can To install through npm, execute the following command:

npm install twilio
Copy after login

2. Verify identity

Before using Twilio API to send text messages, you need to verify your identity and obtain Account SID and Auth Token, these two parameters This can be found in Twilio's console.

3. Write the code to send text messages

We use Twilio API to send text messages. The code in Node.js is as follows:

const accountSid = 'YOUR_ACCOUNT_SID';
const authToken = 'YOUR_AUTH_TOKEN';
const client = require('twilio')(accountSid, authToken);

client.messages
  .create({
     body: 'Hello from Node',
     from: '+1XXXXXXXXX', //在Twilio中您需要购买一个号码,
     to: '+1XXXXXXXXX'    //作为from参数输入,to是您的接收短信的电话号码。
   })
  .then(message => console.log(message.sid));
Copy after login

After executing the above code, in your A "Hello from Node" text message will be sent to your phone.

2. Use existing SMS services to send text messages

If you do not want to use the Twilio API, but want to use some existing SMS services to send text messages, then the following are some common text messages Services for you to choose from:

1. Tencent Cloud SMS Service

Tencent Cloud SMS API can be called through the HTTP/HTTPS protocol and supports GET or POST requests. The parameters use the standard HTTP protocol format (such as key1 =value1&key2=value2), for the signature algorithm, please refer to the Tencent Cloud SMS API documentation.

The sample code is as follows:

const request = require('request');
const querystring = require('querystring');

const appid = 'YOUR_APPID';
const appkey = 'YOUR_APPKEY';
const nationCode = '86' //中国区电话号码前缀
const phoneNumber = 'XXXXXXXXX' //接受短信的手机号码
const templateId = 'XXXXXX' //短信模板ID
const random = Math.floor(Math.random()*99999+1) //随机数
const curTime = Math.floor(new Date().getTime()/1000); //当前时间戳
const sig = querystring.escape(Buffer.from(`appkey=${appkey}&random=${random}&time=${curTime}&mobile=${nationCode}${phoneNumber}`, 'utf8').toString('base64'));

const options = {
    url: 'https://yun.tim.qq.com/v5/tlssmssvr/sendsms',
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    json: true,
    body: {
        tel: {
            nationCode,
            mobile: phoneNumber
        },
        tpl_id: templateId,
        params: [
            random.toString(),
            '5'
        ],
    },
    qs: {
        sdkappid: appid,
        random,
        time: curTime,
        sig,
        extend: '',
        ext: ''
    },
};

request(options, (error, response, body) => {
    if(error) {
        console.log(error);
    } else {
        console.log(body);
    }
});
Copy after login

2. Alibaba Cloud SMS Service

Alibaba Cloud SMS Service can also be called through the HTTP/HTTPS protocol, and provides Java, PHP, and Python and SDKs for multiple programming languages ​​such as Node.js.

The sample code is as follows:

const Core = require('@alicloud/pop-core');

const client = new Core({
  accessKeyId: '<YourAccessKeyId>',
  accessKeySecret: '<YourAccessKeySecret>',
  endpoint: 'https://dysmsapi.aliyuncs.com',
  apiVersion: '2017-05-25'
});

const params = {
  "RegionId": "cn-hangzhou",
  "PhoneNumbers": "1500000000",
  "SignName": "阿里云短信测试专用",
  "TemplateCode": "SMS_71390007",
  "TemplateParam": "{\"code\":\"12345\"}"
}

const requestOption = {
  method: 'POST'
};

client.request('SendSms', params, requestOption).then((result) => {
    console.log(result);
}, (ex) => {
    console.log(ex);
})
Copy after login

3. Summary

Through the introduction of this article, we can understand how Node.js sends text messages, including using Twilio API and using Tencent Cloud and existing SMS services such as Alibaba Cloud. Sending text messages is one of the commonly used functions in our development. In actual applications, we need to choose it according to the specific situation.

The above is the detailed content of How to send text messages in nodejs. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What is useEffect? How do you use it to perform side effects? What is useEffect? How do you use it to perform side effects? Mar 19, 2025 pm 03:58 PM

The article discusses useEffect in React, a hook for managing side effects like data fetching and DOM manipulation in functional components. It explains usage, common side effects, and cleanup to prevent issues like memory leaks.

Explain the concept of lazy loading. Explain the concept of lazy loading. Mar 13, 2025 pm 07:47 PM

Lazy loading delays loading of content until needed, improving web performance and user experience by reducing initial load times and server load.

What are higher-order functions in JavaScript, and how can they be used to write more concise and reusable code? What are higher-order functions in JavaScript, and how can they be used to write more concise and reusable code? Mar 18, 2025 pm 01:44 PM

Higher-order functions in JavaScript enhance code conciseness, reusability, modularity, and performance through abstraction, common patterns, and optimization techniques.

How does currying work in JavaScript, and what are its benefits? How does currying work in JavaScript, and what are its benefits? Mar 18, 2025 pm 01:45 PM

The article discusses currying in JavaScript, a technique transforming multi-argument functions into single-argument function sequences. It explores currying's implementation, benefits like partial application, and practical uses, enhancing code read

How does the React reconciliation algorithm work? How does the React reconciliation algorithm work? Mar 18, 2025 pm 01:58 PM

The article explains React's reconciliation algorithm, which efficiently updates the DOM by comparing Virtual DOM trees. It discusses performance benefits, optimization techniques, and impacts on user experience.Character count: 159

What is useContext? How do you use it to share state between components? What is useContext? How do you use it to share state between components? Mar 19, 2025 pm 03:59 PM

The article explains useContext in React, which simplifies state management by avoiding prop drilling. It discusses benefits like centralized state and performance improvements through reduced re-renders.

How do you prevent default behavior in event handlers? How do you prevent default behavior in event handlers? Mar 19, 2025 pm 04:10 PM

Article discusses preventing default behavior in event handlers using preventDefault() method, its benefits like enhanced user experience, and potential issues like accessibility concerns.

What are the advantages and disadvantages of controlled and uncontrolled components? What are the advantages and disadvantages of controlled and uncontrolled components? Mar 19, 2025 pm 04:16 PM

The article discusses the advantages and disadvantages of controlled and uncontrolled components in React, focusing on aspects like predictability, performance, and use cases. It advises on factors to consider when choosing between them.

See all articles