来自Web应用程序的SMS

Shy*_*yju 61 php sms

我只想用PHP发送来自我的Web应用程序的SMS.谁能告诉我怎么做?我需要为此做些什么?

Pao*_*ino 49

我不知道这是否适用于你,但是我多次为了省钱而做的事情是在用户资料中询问用户他的运营商是什么,然后尝试与之匹配this list.从本质上讲,许多/大多数运营商都有一个连接到电话号码的电子邮件地址,可以轻松地将文本发送到该号码.例如,如果您有ATT并且您的电话号码是786-262-8344,则发送电子邮件至7682628344@txt.att.net将免费向您发送包含电子邮件主题/正文的短信.这项技术几乎可以免费覆盖所有美国用户.显然,根据您的应用程序的需要,这可能是不可能/不充分/期望的,但是可以选择注意.

  • 通过电子邮件发送特定于运营商的地址已经被垃圾邮件发送者广泛使用和滥用,并且现在比最初编写答案时效率低.此外,在这种方法仍然有效的情况下,在发送电子邮件的时间和SMS消息到达的时间之间经历长时间的延迟并不罕见. (6认同)

Jam*_*s B 26

发送SMS消息的主要选项是使用现有的SMS提供程序.根据我的经验(广泛使用SMS消息传递Web应用程序),您经常会发现与不同提供商协商是获得最佳交易的最佳方式.

不同的提供商通常提供不同的服务和不同的功能.TM4B(http://www.tm4b.com)是我最喜欢的提供商,也是我过去与我协商过低利率的提供商.这些人拥有优惠的价格,覆盖了全球的很大一部分,并提供优质的客户服务.

下面是我的一个实时Web应用程序提取的一些代码(以及一些模糊的部分),用于通过其API发送简单消息:

require_once("tm4b.lib.php");
$smsEngine = new tm4b();

// Prepare the array for sending
$smsRequest["username"] = "YOURUNAME";
$smsRequest["password"] = "YOURPWORD";
$smsRequest["to"] = "+441234554443";
$smsRequest["from"] = "ME!";
$smsRequest["msg"] = "Hello, test message!";

// Do the actual sending
$smsResult = $smsEngine->ClientAPI($smsRequest);

// Check the result
if( $smsResult['status'] == "ok" ) {
    print "Message sent!";
} else {
    print "Message not sent.";
}
Run Code Online (Sandbox Code Playgroud)

我过去使用的许多其他提供商都有非常相似的界面,而且在定价方面都非常具有竞争力.您只需要四处寻找适合您需求的提供商.

关于成本,你看大多数西方国家的价格从几便士/美分不等(大多数第三世界国家的价格略高一些,但要注意).大多数供应商,如果你想从它们那里获得不错的价格,你将不得不批量支付,但他们经常会与你谈判"比平时更小"的批次.大多数提供商确实提供后付款选项,但只有当您成功完成与他们的一些交易......其他人从一开始就提供它,但价格是敲诈的.


sbl*_*lom 12

只发送,但便宜又简单

最简单的方法是使用@ Paolo Bergantino上面提到的电子邮件黑客.您可以轻松地要求用户输入他们的电话号码并从列表中选择他们的运营商.在任何开发平台上,只要您拥有用户的信息,就可以轻松发送电子邮件.

然而,我用这种方法发现了两个非常重要的限制:

  1. 首先,蜂窝电话运营商都优先考虑通过其电子邮件网关发送的SMS消息,而不是其他SMS流量.可能是因为他们没有得到发件人的报酬.如果最小化延迟对您很重要,请不要使用此方法.
  2. 第二是特别是在现代便携式电话号码时代,用户会不时地转换运营商,几乎肯定会忘记告诉你.如果您需要能够在一年或两年后可靠地向同一个人发送SMS消息,此方法将开始失败.

发送和接收便宜

如果您尝试将网站设置为按预算发送和接收短信,则可以使用TextMarks等服务.TextMarks允许您为您的服务选择一个关键字,允许用户通过TextMarks的共享短代码41411向您发送消息.这里的问题是他们在每条消息中保留20个字符,以便为他们的服务支付短广告.

专业品质

如果您需要低延迟,高可靠性和无广告,您几乎必须通过SMS聚合器,除非您足够大,可以单独与每个运营商协商.

我发现用SMS聚合器注意的最重要的事情是它们中的许多都真的被设置为营销公司,而不是应用程序主机 - 他们并不真正理解使用SMS作为用户可以与之交互的渠道服务供应商.我发现使用"您的广告系列"而非"您的应用"这一短语的聚合器是最严重的违规者.远离他们,找到一个了解您作为应用程序开发人员的需求的聚合器.


Tim*_*tle 11

Twilio最近发布了一个发送短信的API .api是相当简单的,用于发送SMS的基本REST接口,以及用于响应post返回文档.


Jar*_*yes 8

您好,我的名字是Jarod,我在Twilio.com工作,所以我有点偏颇.但话说回来,使用Twilio REST API从PHP Web应用程序发送SMS非常容易.这是一个简单的例子:

<?php
// Get the PHP helper library from twilio.com/docs/php/install
require_once('/path/to/twilio-php/Services/Twilio.php'); // Loads the library

// Your Account Sid and Auth Token from twilio.com/user/account
$sid = "{{ account_sid }}"; 
$token = "{{ auth_token }}"; 
$client = new Services_Twilio($sid, $token);

$client->account->messages->sendMessage("+14158141829", "+14159352345", "Hi Shyju, Sorry it took me so long to get back to you. <3 The Internet.");
Run Code Online (Sandbox Code Playgroud)