【发布时间】:2019-12-24 10:25:50
【问题描述】:
我正在使用 AWS SDK 将短信发送到手机号码,以便通过短信发送 OTP。
我面临的问题是 SMS 仅根据印度标准时间(上午 9 点至晚上 9 点)在白天发送。如果我在晚上 9 点之后尝试向 AWS SNS 端点发送 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();
}
【问题讨论】:
-
代码看起来没什么,但是这个答案中的列表项#3:stackoverflow.com/a/42561149/4636715
标签: amazon-web-services amazon-sns aws-java-sdk