1

我正在制作一个短信发送网站,我使用 Gammu 作为我的本地短信网关,它在我的本地主机中运行良好,基于我使用的 php 代码:

echo shell_exec('"C:\Gammu\bin\gammu.exe" --sendsms TEXT +'.$row["mobilenum"].' -text '.$message.'');

现在,当我开始将网站放在云上时,我该如何执行呢?我正在为我的 SMS 服务器使用基于窗口。

有没有其他方法可以链接云和本地主机来执行 gammu 命令?

4

1 回答 1

0

在云服务器上调用 shell_exec() 到 gammu.exe 将不起作用,因为您没有电话连接。

您需要通过 HTTP 向可以执行此操作的服务发出请求,而不是从您的云托管网站调用 shell_exec()。

最简单的方法是使用 Twillio.com 之类的东西

或者,您还可以在本地网络上公开一个简单的 HTTP API,云服务器可以访问该 API 以进行 POST。

您需要本地 Gammu 服务器上的静态 IP,并在防火墙中打开相应的端口。

例如:

发布http://100.22.33.11/sms?number=82736164617&text=Hello%20World

或在 JS

$.post('http://100.22.33.11/sms',{
  number: '82736164617',
  text: 'Hello World'
})

当然,您还需要添加一些身份验证(通过 SSL),以避免成为开放 SMS 代理 :)

于 2017-10-21T08:35:07.680 回答