Twilio 是否足以进行国际短信验证?

Is Twilio enough for International SMS verification?

我使用 Twilio 在我的应用程序中发送短信验证。我只是使用 Twilio REST API.

向每个用户发送一条短信

然而,在推出后,我们收到了国际用户的多起投诉。他们从来没有收到短信。

实施几乎无处不在的 SMS/Voice 验证的最佳方法是什么?

是的,我的 Twilio 帐户中启用了国际短信。

def sendByTwilio(phone, verificationCode):
try:
    account_sid = "XXXXX"
    auth_token = "XXXXXX"
    client = TwilioRestClient(account_sid, auth_token)
    rv = client.sms.messages.create(to="phone",
                                    from_="XXXXXXXXXX",
                                    body="Your verification code is "+str(verificationCode))
    return True
except TwilioRestException, e:
    pass

return False

你开启地理位置了吗?如果否,您必须从 twilio 帐户设置中启用它。其次,您应该为 TwilioException 做一些日志记录。可能数字可能没有前缀 + 号,这会导致问题

这里是 Twilio 开发人员布道者。

Kamran 是对的,您应该检查您帐户中的国际权限。

另一件事是您正在使用 SMS/Messages resource which has been deprecated。如果您将代码更新为:

rv = client.messages.create(to="phone",
                            from_="XXXXXXXXXX",
                            body="Your verification code is "+str(verificationCode))

那么您将使用较新的 Messages 资源。

SMS 在国际地点无法使用的原因有多种。 Twilio 在某些地方运行良好,但并非在所有地方都运行良好。在印度,它们非常有限,不建议使用它们 - https://www.twilio.com/help/faq/sms/are-there-limitations-on-sending-sms-messages-to-indian-mobile-devices

我不认为 API 版本会改变 SMS 的可传递性,当您走向国际时,确保接收 SMS 的障碍超出了 SMS 网关。阅读本文以了解有关改善全球短信接收的更多信息 check out this