如何以专业可靠的方式编程发送短信?

3
为了我正在进行的一个项目,我需要以可靠的方式发送SMS消息,因为这是一个生产应用程序。 我遇到的问题是应用程序运行在云上,我不能使用额外的硬件,如SMS网关。
我使用的供应商不提供典型的邮件到SMS网关,而且我认为这不太可靠。有没有什么可靠的解决方案?
谢谢。
注意:我不需要免费服务,但需要可靠的服务。
注意:我需要用于西班牙,并且仅用于传递消息,而不是接收消息。

请查看此供应商 http://www.mvaayoo.com/,http://www.mvaayoo.com/SMSGateway_samplecode.html。 - Ravi Jain
@Dennis 哈哈,真的很有趣。你知道吗,我从来不看广告 :P +1 - Ignacio Soler Garcia
@ta.speot.is 我不是在寻找谷歌搜索。我正在寻找有经验的人,因为我需要一个能够长期使用的系统。如果您不知道我的问题的答案,请不要回复它,寻找另一个问题。 - Ignacio Soler Garcia
请尝试访问此链接:http://www.activexperts.com/mobile-messaging-component/howto/devs/#vcnet - Dinesh
4个回答

8
你关于可靠性的具体问题可能取决于你发送到的地理区域。希望更多的开发者能提供真实的经验。Twilio拥有庞大的用户群,通常这意味着该服务很好 http://techcrunch.com/2012/06/05/twilio-passes-a-milestone-100000-developers-for-its-voip-sms-platform/。另请参见此前的SO条目https://stackoverflow.com/questions/2528919/sms-gateway-service-provider-with-php-api 选择提供商也取决于您需要覆盖哪些国家/地区,是否需要发送和接收功能以及是否需要专用的shortcode。许多公司提供基于Web的SMS API,包括一些运营商提供的服务。它们倾向于在不同的国际覆盖范围内提供服务,其中大多数在特定地区具有最佳覆盖率。服务的成本也因公司而异,并且根据您是否需要设置专用的shortcode而有所不同。
以下是一些提供SMS Web API服务的知名公司。

Twilio - 美国覆盖发送和接收,但目前正在运行国际测试计划https://www.twilio.com/international-sms,标准服务没有设置费用或最低合同要求,但如果您想使用短代码,则需要3个月的最低限制。

Tropo - 美国覆盖发送和接收,可以向国际号码发送短信,但无法接收。

Zeep - 仅覆盖美国,只能发送短信,有最低月度消费和使用Zeep短代码的要求。

Nexmo - 没有设置费用或最低月费。提供国际覆盖范围,在美国发送短信的费率目前较低。接收短信的国家覆盖范围有限。

MediaBurst - 一家总部位于英国,提供发送和接收短信API的国际覆盖公司。请注意,“国际覆盖”不一定包括所有美国运营商(例如),但大多数都包括在内。他们以每条短信 £0.05 的固定价格提供批量定价。似乎不支持自定义短代码。

还有一些运营商提供基于Web的API,可以通过其网络发送短信,包括:

Bluevia 提供独特的利润分享模式,开发人员分享所发送(或接收)短信的利润,但覆盖范围仅限于欧洲和南美洲某些地区的Telefonica网络(请参见https://bluevia.com/en/page/tech.overview.countries)。他们还提供付款和位置API。

最近推出的OneAPI可在加拿大的三个主要运营商上使用,并将很快在不同的国家推出。这可以访问发送和接收短信以及一些其他内容,如付款和位置。发送和接收短信的成本取决于运营商。


非常有趣,谢谢。我已经更新了问题并提供了您所请求的信息。 - Ignacio Soler Garcia
ZeepňťĘ2012ň╣┤8Šťł1ŠŚąňüťŠşóń║ćń╗ľń╗ČšÜ䊝ŹňŐíŃÇé - Amna Ali
Tropo于2018年11月30日停止了其服务。 - Apps-n-Add-Ons

2

我一直在使用Twilio,到目前为止它非常可靠——他们的c#库很容易使用(我只有一个功能觉得它有点欠缺)。我发现租用号码、发送/接收短信的成本非常低。


2
您正在寻找可靠且国际化的东西 - 我建议 Nexmo (免责声明:我为他们进行了一些开发者推广)
  • Nexmo 可以发送到西班牙(以及许多其他国家)
  • Nexmo 直接与运营商合作,因此您的传递路径减少了 - 这使其具有成本效益和可靠性。

您可以通过简单的 HTTP 请求发送消息,尽管现在您不需要这样做,但您会收到将消息作为 HTTP 请求发送到您的服务器的消息。

您甚至可以使用 QoD 仪表板 检查特定目的地的交付统计信息,只需注意较低的“成功比率”是不良数字的指标,“DLR 比率”是 Nexmo 表现良好的指标(例如,如果您向无效号码发送消息,则会影响成功率,但不会影响 DLR 比率 - 因为 Nexmo 将提供传递回执,指示无法传递消息)。


Nexmo 的 QoD 仪表板简直是一场笑话:它居然没有美国的统计数据! - WHO's NoToOldRx4CovidIsMurder
@MatthewElvey 这是因为美国的运营商没有提供送达回执。 - Tim Lytle
嗯... Twilio声称在https://www.twilio.com/sms/deliverability 对美国的"运营商确认"有99%的成功率。看来有人的信息是错误的。 - WHO's NoToOldRx4CovidIsMurder
@MatthewElvey 交付收据和承运人确认之间有很大的区别。前者意味着您的消息到达了手机,而后者仅表示它已到达承运人。 - Tim Lytle
我知道这一点。这并不是 Nexmo 完全不提供统计数据的借口。https://clients.txtnation.com/entries/194010-USA-SMS-Delivery-reports-USA 上的列表显示大多数主要运营商都支持交付回执,但该列表的日期是2010年。 - WHO's NoToOldRx4CovidIsMurder

1

有很多公司允许使用HTML POST或GET发送短信,或通过SOAP访问可通过XML或JSON的Web服务。

因此,您需要联系其中一家公司并获取详细信息。

例如,请查看以下内容:

如果您的供应商很认真,应该有两个服务:

  • 一个用于发送消息的服务
  • 另一个由您的服务器公开,您的短信提供商将使用它来向您发送通知(已传递/已读取/无法传递)等

这是此类服务的示例:

一段时间以前,有一个类似于此的标准被许多公司使用,但我现在找不到它了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接