>  기사  >  웹 프론트엔드  >  nodejs에서 문자 메시지를 보내는 방법

nodejs에서 문자 메시지를 보내는 방법

王林
王林원래의
2023-05-08 16:08:381177검색

Node.js는 JavaScript 언어로 작성된 오픈 소스 서버 운영 환경으로 효율적이고 빠르며 가벼우며 확장 가능합니다. 실제 애플리케이션에서 Node.js는 개발자가 문자 메시지 보내기를 포함한 다양한 기능을 쉽게 구현할 수 있도록 도와줍니다.

이 글에서는 Node.js가 SMS 메시지를 보내는 방법과 기존 SMS 서비스를 사용하여 이 기능을 구현하는 방법을 자세히 설명합니다.

1. Node.js를 사용하여 문자 메시지 보내기

1. 종속성 설치

먼저 npm을 통해 설치할 수 있는 Node.js의 공식 모듈 중 하나인 "twilio"를 설치해야 합니다. 명령:

npm install twilio

2. 신원 확인

Twilio API를 사용하여 문자 메시지를 보내기 전에 신원을 확인하고 계정 SID 및 인증 토큰을 얻어야 합니다. 이 두 매개변수는 Twilio 콘솔에서 찾을 수 있습니다.

3. 문자 메시지를 보내는 코드 작성

Twilio API를 사용하여 문자 메시지를 보냅니다. Node.js의 코드는 다음과 같습니다.

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

위 코드를 실행하면 "Hello from Node"라는 문자 메시지가 나타납니다. 휴대전화로 전송됩니다.

2. 기존 SMS 서비스를 사용하여 문자 메시지 보내기

Twilio API를 사용하고 싶지 않지만 일부 기존 SMS 서비스를 사용하여 문자 메시지를 보내고 싶다면 선택할 수 있는 몇 가지 일반적인 SMS 서비스가 있습니다. 출처:

1 .Tencent Cloud SMS Service

Tencent Cloud SMS API는 HTTP/HTTPS 프로토콜을 통해 호출할 수 있으며 GET 또는 POST 요청을 지원합니다. 매개변수는 표준 HTTP 프로토콜 형식(예: key1=value1&key2=value2)을 사용합니다. 서명 알고리즘은 Tencent Cloud SMS API 문서를 참조하세요.

샘플 코드는 다음과 같습니다.

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

2. Alibaba Cloud SMS Service

Alibaba Cloud SMS 서비스는 HTTP/HTTPS 프로토콜을 통해서도 호출할 수 있으며 Java, PHP, Python과 Node.js.

샘플 코드는 다음과 같습니다.

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

3. 요약

이 글의 소개를 통해 우리는 Twilio API와 Tencent Cloud와 같은 기존 문자 메시지 서비스를 사용하는 것을 포함하여 Node.js가 문자 메시지를 보내는 방법을 이해할 수 있습니다. 알리바바 클라우드. 문자 메시지 보내기는 개발 과정에서 일반적으로 사용되는 기능 중 하나입니다. 실제 애플리케이션에서는 특정 상황에 따라 선택해야 합니다.

위 내용은 nodejs에서 문자 메시지를 보내는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:jquery 삭제 요소 ID다음 기사:jquery 삭제 요소 ID