11

PHP 脚本(可以与 MySQL 数据库一起使用)可以使用某种服务器端解决方案发送和/或接收 SMS吗?

是否需要任何特殊的服务器端应用程序或特殊硬件?和兼容性?窗户,Linux?

4

4 回答 4

7

有很多像Esendex这样的公司提供用于发送/接收 SMS 消息的 API。我不确定您是否希望直接从您的硬件发送它们?

于 2009-01-03T22:45:34.617 回答
1

您可以将 usb 连接到 gsm 调制解调器并从 php 或任何其他语言发送消息,或者您可以在手机上开发 J2EE 程序来做同样的事情(这是 hackier)。

最便宜的方法(我的经验是这样)是花 50 美元买一个 MultiTech GSM 模块,安装一个无限文本的 GSM 卡并开始使用串口通信,非常简单的命令允许您发送文本和模块使所有的协议连接和东西......

基本上你最终会使用 AT 命令(它们从调制解调器变为调制解调器),但它们就像 AT#T/"555031231" 示例文本消息 //

当然,使用 gsm 芯片的缺点是您实际上必须做一些电子设备,如果您选择高端 gsm 调制解调器,它们已经解决了所有问题,您可以即插即用!

于 2009-01-03T23:53:51.593 回答
1

如果您在英国,txtlocal 是一个不错的选择。他们已经在他们的网站上提供了示例代码来帮助您启动和运行。很简单,使用 curl 函数。

http://www.txtlocal.co.uk/

于 2009-01-04T07:52:47.117 回答
1

发送短信

  1. CURL 应该安装在您的服务器上。(或者你可以使用 php_file_get_contents 函数,但我推荐 CURL )
  2. 来自短信网关服务器提供商的短信 API。

这是一个使用 CURL 发送短信的简单函数:

function CURLsendsms($number, $message_body){
 $api_params = $api_element.'?apikey='.$apikey.'&sender='.$sender.'&to='.$mobileno.'&message='.$textmessage;
 $smsGatewayUrl = "http://springedge.com";
 $smsgatewaydata = $smsGatewayUrl.$api_params;
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_POST, false);
 curl_setopt($ch, CURLOPT_URL, smsgatewaydata);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 $output = curl_exec($ch);
 curl_close($ch);
 // Use file get contents when CURL is not installed on server.
 if(!$output){
 $output =  file_get_contents($smsgatewaydata);  
 }
}

您也可以使用 php 类发送短信http://www.phpclasses.org/package/9522-PHP-Send-SMS-messages-with-Spring-Edge-API.html

上面的类中有两个文件: sendms.php - 调用短信网关的类文件 restAPI test.php - 测试短信功能的示例文件。此类使用 spring edge短信网关提供程序 API

接收短信

您需要购买一个虚拟号码,可以是 10 位虚拟手机号码或短代码号码。

虚拟号码可以使用带有参数作为查询字符串的 HTTP URL 进行配置

前任。example.com/receivesms.php?from=%number%&smstext=%text%

在虚拟号码上收到的所有消息都将触发到配置的 URL,因此您可以根据需要在脚本中进一步处理它(例如,存储对 DB 的回复或发送短信作为响应)。

虚拟手机号码(2路短信号码)可以与任何短信服务提供商进行配置

于 2017-08-29T07:16:08.430 回答