我正在尝试使用 Amazon SNS 向使用 cognito 注册帐户并验证其电话号码的用户的电话发送确认短信。我的 Cognito 用户池位于 us-east-2,我最近将 us-east-1 和 us-east-2 的支出限额提高到 50 美元。我测试了通过 sns 控制台向我的手机发送短信,效果很好。但是,在尝试验证 Cognito 上的用户时,我没有收到短信。检查 sns 控制台时,似乎唯一成功发送到我的手机的消息是我从控制台手动发送的消息,其他一切都失败了。任何帮助将不胜感激。
我发现错误来自我作为 sprint 运营商的特定电话号码,并得到以下日志失败响应:
{
"notification": {
"messageId": "5dab56f3-2dd3-5a6d-b96e-0e96904d334b",
"timestamp": "2020-12-29 23:27:26.712"
},
"delivery": {
"phoneCarrier": "SPRINT Spectrum L.P.",
"mnc": 880,
"numberOfMessageParts": 1,
"destination": "+1******3252",
"priceInUSD": 0.00645,
"smsType": "Transactional",
"mcc": 311,
"providerResponse": "Blocked as spam by phone carrier",
"dwellTimeMs": 202,
"dwellTimeMsUntilDeviceAck": 1254
},
"status": "FAILURE"
}
但是,我使用 AT&T 手机和 TMobile 手机进行了测试,它们通过以下日志响应成功发送了消息:
{
"notification": {
"messageId": "3106a00c-40de-53ce-9f40-f869fc025013",
"timestamp": "2020-12-29 23:24:12.183"
},
"delivery": {
"phoneCarrier": "T-mobile USA Inc.",
"mnc": 800,
"numberOfMessageParts": 1,
"destination": "+1******1131",
"priceInUSD": 0.00645,
"smsType": "Transactional",
"mcc": 310,
"providerResponse": "Message has been accepted by phone",
"dwellTimeMs": 238,
"dwellTimeMsUntilDeviceAck": 601251
},
"status": "SUCCESS"
}
这个错误对我来说真的很奇怪,因为 SPRINT 没有理由阻止我的手机仅在 Cognito 上从 aws sns 接收短信,但其他电话服务允许接收消息。我也仍然能够从 SNS 控制台获取消息,但只有 Cognito 无法发送,运营商阻止了它。任何帮助将不胜感激!
答案 0 :(得分:0)
由于您可以接收来自 AT&T 和 T-Mobile 电话运营商的 SNS 短信,我强烈建议您联系 AWS Premium Support 以帮助您确定向 SPRINT Spectrum LP 发送短信的原因未交付。