我從供應(yīng)商處收到了 SMPP 服務(wù)器詳細(xì)信息,因此我可以使用他們的 SMPP 服務(wù)器向我的客戶發(fā)送 SMS 消息。然而,我似乎發(fā)現(xiàn) PHP 對(duì)此幾乎沒有支持。我查看了以下 github 項(xiàng)目,但當(dāng)我嘗試發(fā)送時(shí),我不斷收到錯(cuò)誤“無效命令 ID”。有人可以看一下我的代碼并看看我是否遺漏了什么嗎?我已使用 telnet 連接到 SMPP 服務(wù)器,并且連接已成功建立。我也嘗試過單步執(zhí)行代碼,但無法找出問題所在。我檢查了每次調(diào)用中傳遞的每個(gè)命令 ID,根據(jù)smpp 網(wǎng)站,它們似乎都是有效的,所以我不知所措。任何幫助將不勝感激。Github 項(xiàng)目:https://github.com/onlinecity/php-smpp我的代碼(服務(wù)器IP、端口號(hào)、用戶名和密碼省略):<?phprequire_once 'smppclient.class.php';require_once 'gsmencoder.class.php';require_once 'sockettransport.class.php';// Construct transport and client$transport = new SocketTransport(array('SMPP_SERVER_IP'),PORT_NUMBER);$transport->setRecvTimeout(10000);$smpp = new SmppClient($transport);// Activate binary hex-output of server interaction$smpp->debug = true;$transport->debug = true;// Open the connection$transport->open();$smpp->bindTransmitter("USERNAME","PASSWORD");// Optional connection specific overridesSmppClient::$sms_null_terminate_octetstrings = false;SmppClient::$csms_method = SmppClient::CSMS_PAYLOAD;SmppClient::$sms_registered_delivery_flag = SMPP::REG_DELIVERY_SMSC_BOTH;// Prepare message$message = 'Hello World €$£';$encodedMessage = GsmEncoder::utf8_to_gsm0338($message);$from = new SmppAddress('MyAppName',SMPP::TON_ALPHANUMERIC);$to = new SmppAddress(27798817281,SMPP::TON_INTERNATIONAL,SMPP::NPI_E164);// Send$messageID = $smpp->sendSMS($from,$to,$encodedMessage,null);// Close connection$smpp->close();PHP 中的堆棧跟蹤:致命錯(cuò)誤:未捕獲 SmppException:第 622 行 /Applications/XAMPP/xamppfiles/htdocs/projects/smpp_test/src/libs/smpp/smppclient.class.php 中的命令 ID 無效(?。㏒mppException:第 622 行 /Applications/XAMPP/xamppfiles/htdocs/projects/smpp_test/src/libs/smpp/smppclient.class.php 中的命令 ID 無效調(diào)用棧Time Memory Function Location1 0.0015 412144 {main}( ) .../test.php:02 2.2379 687472 SmppClient->close() .../test.php:353 2.2381 687472 SmppClient->sendCommand() .../smppclient.class.php:150
嘗試使用 SMPP 和 PHP 發(fā)送 SMS 時(shí)命令 ID 無效
月關(guān)寶盒
2023-08-19 10:37:54