使用短信代码验证时如何确定任何电话号码的短信网关地址的电子邮件

时间:2017-04-28 18:13:13

标签: sms sms-gateway carrier

我正在构建一个用户可以创建帐户的Web应用程序。 当用户创建他的帐户时,他提供他的电话号码,并且应用程序需要通过发送短信验证码来验证该号码。 我使用以下代码发送短信。

he\'s here

代码的问题是用户需要提供网络运营商。为了防止用户无法创建帐户的情况,他可能不知道他的运营商电子邮件到短信地址,我决定从提供的电话号码和/或国家/地区确定运营商地址。

我无法弄清楚如何根据用户的电话号码确定运营商。任何人都可以帮我解决这个问题吗?

我知道这是可能的,因为Facebook正在做类似的事情。请提出别的建议,而不是告诉我这是不可能的......

2 个答案:

答案 0 :(得分:0)

  

如何根据用户的电话号码确定运营商

你不能真的。您可以通过电话前缀尝试,但在某些国家/地区,人们可以将其号码迁移到不同的运营商,这基本上意味着您最终不会知道它到底是什么运营商。

答案 1 :(得分:0)

如我所见,您有两个潜在的解决方案。

1)将电子邮件发送到每个运营商的短信网关。如果他们不拥有该号码,他们将通过以下方式回复:

Error: Invalid user address

Error message below:
550 - Requested action not taken: no such user here

保存正常运行的网关,如果它停止运行,则重复该过程。 (他们的提供商已更改)

2)使用SMS提供商(例如Twilio)或订阅服务以查找网关。