当前位置: 首页 > 知识库问答 >
问题:

AWS SNS 终端节点在 IST 晚上 9 点之后不发送短信

仲孙毅
2023-03-14

我正在使用AWS SDK将短信发送到手机号码,以便通过短信发送OTP。

我在这里面临的问题是,根据印度标准时间(上午9点到晚上9点),SMS仅在白天发送。如果我尝试在晚上9点之后向AWS SNSendpoint发送SMS请求,那么它将在第二天上午9点之后发送消息。

代码如下。

String ACCESS_KEY = env.getProperty("aws.access.key");
String SECRET_KEY = env.getProperty("aws.secret.access.key");

// Above we get the access and secret access key as credentials for the user.

String otp = getRandomNumberString();  // generates an OTP number of 4 digit

AmazonSNSClient snsClient = new AmazonSNSClient(new BasicAWSCredentials(ACCESS_KEY, 
         SECRET_KEY));

String message = "Your Connect OTP for Login/Signup is: " + otp
    + ".\nNote: Please DO NOT SHARE THIS OTP with anyone.\nThanks";
String phoneNumber = "+91" + String.valueOf(mobile); // Ex: +91XXX4374XX
String messageID = sendSMSMessage(snsClient, message, phoneNumber);

// The definition of method named "sendSMSMessage" as above is written below in next code block
//definition of method named "sendSMSMessage"

public static String sendSMSMessage(AmazonSNSClient snsClient, String message, String phoneNumber) {
    PublishResult result = snsClient
        .publish(new PublishRequest().withMessage(message).withPhoneNumber(phoneNumber));
    return result.getMessageId();
}

共有1个答案

巴帅
2023-03-14

您可以发送两种类型的短信。

-促销信息< br >-交易信息

促销信息就像广告。这些信息不会发送给DND号码,而且根据NCPR指南,这些信息只能在上午9点到晚上9点之间发送。

发送交易消息是为了交易目的,如发送OTP和发送支付确认。这些信息可以全天候发送到任何号码。

所以问题是你需要把你的短信类型改成交易短信

 类似资料:
  • 我已设置了一个 AWS SNS 系统,以向已按照本教程订阅主题的所有终端节点发送通知(我已在此处设置了 Firebase 云信使,而不是 GCM): https://docs.aws.amazon.com/mobile/sdkforxamarin/developerguide/sns.html 当应用运行时,一切按预期方式工作。我可以通过 AWS SNS 控制台发送消息,并且我将在我的终端节点(物

  • 所以我试图让我的应用程序发送短信自动给给定的号码时,用户按下按钮。 我可以让它打开messenger并编写文本,但我不能让它自动发送。 我的代码如下(我想最重要的部分); 那么,我怎样才能让它发送短信呢? 顺便说一句,我添加了权限:“Android。权限。发送短信”

  • 我正在运行一个带有RHEL7.8 BareMetal计算节点的OCP4.6。我们正在集群上运行功能和HA测试。我们在这个集群上的主要应用程序是一个包含大约250个吊舱的StatefulSet。 关闭节点后,在该节点上运行的吊舱进入状态,并停留在那里。由于这是一个状态集,所以在原始pod结束终止之前,pod不能在另一个节点上重新启动。 查看K8S的文档--我发现在节点关闭后StatefulSet p

  • 我正在运行一个自我管理的Kubernetes集群1.18.1。我已经部署了一些带有持久性卷的POD(基于longhorn项目)。现在,在做了一些测试之后,我观察到以下行为: 如果我模拟一个节点的硬关机,过了一段时间(5分钟),Kubernetes就会识别出丢失,并开始重新调度节点从死亡节点到另一个节点。 因为我的节点具有持久性卷,所以新的POD永远不会启动。原因是旧的pod(在死节点上)现在在终止

  • 为空。对如何发送图像有什么建议吗? 谢了。

  • 我想知道如何实现这个功能: 我有一个可编辑的JTree,可以编辑节点的名称。如果我有一个节点是分支节点(其中有一些叶节点),并且该分支节点在编辑时展开,编辑后,该节点将折叠。 编辑完成后,如果分支节点打开,我想让它保持打开状态,如果分支节点折叠,我想让它折叠。 我试图查看TreeWireExpandListener,但它似乎无法解决我的问题,因为在调用这些方法之前,我需要识别实际节点是否处于编辑模