来自 Web 应用程序的短信 [已关闭]

2022-08-30 09:10:59

我只想用PHP从我的Web应用程序发送短信。谁能告诉我怎么做?我需要为此做些什么?


答案 1

我不知道这是否适用于您,但是为了节省自己的钱,我已经做了很多次,那就是在他的个人资料中询问用户他的运营商是什么,然后尝试将其与此列表匹配。从本质上讲,许多/大多数运营商都有一个连接到电话号码的电子邮件地址,该地址将很容易让您向该号码发送短信。例如,如果您有ATT,并且您的电话号码是786-262-8344,则发送给 7682628344@txt.att.net 的电子邮件将免费向您发送一条包含电子邮件主题/正文的短信。这种技术几乎可以免费覆盖所有美国用户。显然,根据您的应用程序需求,这可能是不可能的/充分的/需要的,但这是一个需要注意的选项。


答案 2

发送 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.";
}

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

关于成本,你看到的是大多数西方国家的价格从几便士/美分不等(不过,对于大多数第三世界国家来说,价格略高一些,所以要小心)。如果您想从他们那里获得体面的费率,大多数提供商都必须批量付款,但他们通常会与您协商“比平时更小”的批次。大多数提供商确实提供后付费选项,但前提是您已成功完成了与他们之间的一些交易......其他人从一开始就提供它,但价格是敲诈勒索的。


推荐