如何使用 Node Js 在 Twilio 中发送大量短信?

How to send SMS masive in Twilio with Nodejs?

我想知道如何向不同号码发送消息。我的意思是,将 SMS 作为通知发送到同一字符串数组中的不同号码。类似于:

body: "Hello Word!"
number:["+2222", "+2222", "+2222"]

可以用 twilio 做到这一点吗?

应该是可以的,如果用mail可以,电话号码是怎么做到的?

我正在使用 nodeJs 并且有类似的东西:

更新代码

    const sendBulkMessages = async(req, res) => {
    let messageBody = req.body;
    let numberList = req.body;
    var numbers = [];
    for (i = 0; i < numberList.length; i++) {
        numbers.push(JSON.stringify({
            binding_type: 'sms',
            address: numberList[i]
        }))
    }


    const notificationOpts = {
        toBinding: numbers,
        body: messageBody,
    };

    const response = await client.notify
        .services(SERVICE_SID)
        .notifications.create(notificationOpts)
        .then(notification => console.log(notification.sid))
        .catch(error => console.log(error));

    console.log(response);

    res.json({
        msg: 'Mensaje enviado correctamente'
    });
}

但它告诉我一个错误,我没有发送正文,而实际上我确实发送了。

有人可以帮助我吗?请

您似乎正试图通过 post 请求将这些消息发送到 Express 应用程序。问题是您没有正确地从请求正文中提取数据。

如果您的 POST 请求正文是一个 JSON 对象,如下所示:

{
  "toBinding": ['+222', '+222'],
  "body": 'Hello'
}

然后您需要确保将请求正文解析为 JSON,通常是添加 Express body parser JSON middleware,然后像这样从请求正文中提取数据:

let messageBody = req.body.body;
let numberList = req.body.toBinding;

完整脚本如下:

const sendBulkMessages = async(req, res) => {
    let messageBody = req.body.body;
    let numberList = req.body.toBinding;
    var numbers = [];
    for (i = 0; i < numberList.length; i++) {
        numbers.push(JSON.stringify({
            binding_type: 'sms',
            address: numberList[i]
        }))
    }


    const notificationOpts = {
        toBinding: numbers,
        body: messageBody,
    };

    const response = await client.notify
        .services(SERVICE_SID)
        .notifications.create(notificationOpts)
        .then(notification => console.log(notification.sid))
        .catch(error => console.log(error));

    console.log(response);

    res.json({
        msg: 'Mensaje enviado correctamente'
    });
}

经过检查 your repo,您的功能似乎确实正确,但您导出和要求功能的方式却不正确。

您不能像这样导出函数:

 module.exports = sendMessage, sendMessageWhatsapp, sendBulkMessages;

只导出第一个函数,其他的忽略。所以我将其更新为:

module.exports = { sendMessage, sendMessageWhatsapp, sendBulkMessages };

这将导出一个包含三个函数的对象。然后,当你需要这些功能时,你不能这样做:

const sendMessage = require('./message');
const sendMessageWhatsapp = require('./message');
const sendBulkMessages = require('./message');

这需要相同的功能三次。通过以上更新,您现在可以执行以下操作:

const {
  sendMessage,
  sendBulkMessages,
  sendMessageWhatsapp,
} = require("./message");