NodeJS - SMPP未发送

时间:2016-05-21 19:45:00

标签: node.js smpp

我尝试使用node-smppActiveXperts free demo service发送短信。

以下是ActiveXperts文档所说的发送免费演示消息的内容:

enter image description here

根据node-smpp documentation,这是我的代码:

var smpp = require('smpp');
var session = smpp.connect('smpp.activexperts-labs.com', 2775);
session.bind_transceiver({}, function(pdu) {
    console.log(pdu);
    if (pdu.command_status == 0) {
        // Successfully bound
        session.submit_sm({
            destination_addr: '1234567890',
            short_message: 'Hello!'
        }, function(pdu) {
            if (pdu.command_status == 0) {
                // Message successfully sent
                console.log(pdu.message_id);
            }
        });
    }
});

这是我的PDU响应:

PDU {
  command_length: 32,
  command_id: 2147483657,
  command_status: 14,
  sequence_number: 1,
  command: 'bind_transceiver_resp',
  system_id: 'ActiveXperts GW' }

显然没有调用发送消息(session.submit_sm)的函数,因为pdu结果command_status = 14而不是if语句需要if (pdu.command_status == 0)

我删除了if语句,但邮件仍然没有发送。我有什么想法我做错了。

1 个答案:

答案 0 :(得分:0)

在您的代码中,您传递了一个空对象作为bind_transceiver方法的参数。您需要传递smpp凭据,如下所示:

session.bind_transceiver({
  system_id: 'YOUR_SYSTEM_ID',
  password: 'YOUR_PASSWORD'
}, function(pdu) {