通过Node.js API发送短信:twilio库

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

在JavaScript (Node.js)上发送短信:twilio库



在现代Web开发中,经常需要向用户发送短信通知:注册确认、双因素认证码、订单状态提醒等等。在Node.js生态系统中,用于此任务最流行且可靠的库之一是twilio。这是Twilio公司的官方SDK,它提供了一个简单而强大的API,用于以编程方式发送短信、语音通话以及处理其他电信服务。



在本文中,我们将详细介绍如何安装、配置和使用twilio库从您的Node.js应用程序发送短信。您将了解主要方法,学会处理错误,并看到几个实际示例。



安装与配置



首先,您需要一个Twilio账户。注册后,您将获得:

  • Account SID — 您账户的唯一标识符。
  • Auth Token — 用于验证请求的密钥。
  • Twilio phone number — 用于发送短信的电话号码(测试时免费提供)。


通过npm安装库:



npm install twilio


安装后,创建文件send-sms.js并引入库,传入您的凭据:



const twilio = require('twilio');

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


基本短信发送



要发送消息,请使用client.messages.create()方法。它接受一个包含三个必填字段的对象:

  • body — 消息文本(单条短信最多1600个字符)。
  • from — 您的Twilio号码(格式为+1234567890)。
  • to — 接收方号码(也使用国际格式)。


发送简单短信的示例:



client.messages  .create({    body: '你好!这是来自Twilio的测试消息。',    from: '+1234567890',    to: '+79876543210'  })  .then(message => console.log('消息已发送。SID:', message.sid))  .catch(error => console.error('错误:', error));


发送成功后,您将获得一个message对象,其中包含唯一的sid(消息标识符)、投递状态和其他信息。



使用async/await异步发送



对于更现代的方法,请使用async/await语法。将调用包装在try...catch中以处理错误:



const sendSMS = async (to, body) => {  try {    const message = await client.messages.create({      body: body,      from: '+1234567890',      to: to    });    console.log(`短信已发送至 ${to}。SID: ${message.sid}`);    return message;  } catch (error) {    console.error('无法发送短信:', error.message);    throw error;  }};

// 使用sendSMS('+79876543210', '您的验证码:1234');


附加参数



该库支持许多可选参数。以下是一些示例:

  • mediaUrl — 图片或其他媒体文件的URL(用于MMS)。
  • statusCallback — 用于接收投递状态通知的URL(webhook)。
  • applicationSid — 用于额外配置的Twilio应用程序SID。


发送带图片的MMS示例:



client.messages  .create({    from: '+1234567890',    to: '+79876543210',    body: '看看这个'                    

推荐