是否可以使用AWS的SES服务发送短信。我正在尝试使用Java来实现此功能。使用亚马逊网络服务的SES发送SMS
1
A
回答
2
您可以使用AWS的SNS发送短信。您可以通过发送电子邮件将SES端点连接到SNS来完成此操作。
目前,只有美国的电话号码可以接受短信。
见在多个协议兑现http://aws.amazon.com/sns/
1
您现在可以在全球范围发送短信标题。见Introducing Worldwide SMS Messaging
0
是美国可以使用Amazon SNS(简单通知服务)
import java.util.HashMap;
import java.util.Map;
import com.amazonaws.services.sns.AmazonSNSClient;
import com.amazonaws.services.sns.model.CreateTopicRequest;
import com.amazonaws.services.sns.model.CreateTopicResult;
import com.amazonaws.services.sns.model.MessageAttributeValue;
import com.amazonaws.services.sns.model.PublishRequest;
import com.amazonaws.services.sns.model.PublishResult;
import com.amazonaws.services.sns.model.SubscribeRequest;
import com.amazonaws.services.sns.model.SubscribeResult;
public class BulkSMSSender {
static String topicArn;
static Map<String, MessageAttributeValue> smsAttributes;
static AmazonSNSClient snsClient = AwsSNSCredentials.getSnsClient();
public static void main(String[] args) {
// AmazonSNSClient snsClient = new AmazonSNSClient();
if (topicArn == null) {
topicArn = createSNSTopic(snsClient);
}
smsAttributes = initializeMessage();
String message = "*********";
String phoneNumber[] = { "+91**********" };
subscribeToTopic(snsClient, topicArn, "sms", phoneNumber[0]);
sendSMSMessageToTopic(snsClient, topicArn, message, smsAttributes);
}
public static String createSNSTopic(AmazonSNSClient snsClient) {
CreateTopicRequest createTopic = new CreateTopicRequest("Topic");
CreateTopicResult result = snsClient.createTopic(createTopic);
System.out.println("Create topic request: " + snsClient.getCachedResponseMetadata(createTopic));
return result.getTopicArn();
}
public static void subscribeToTopic(AmazonSNSClient snsClient, String topicArn, String protocol, String endpoint) {
SubscribeRequest subscribe = new SubscribeRequest(topicArn, protocol, endpoint);
SubscribeResult subscribeResult = snsClient.subscribe(subscribe);
System.out.println("Subscribe request: " + snsClient.getCachedResponseMetadata(subscribe));
}
public static void sendSMSMessageToTopic(AmazonSNSClient snsClient, String topicArn, String message,
Map<String, MessageAttributeValue> smsAttributes) {
PublishResult result = snsClient.publish(
new PublishRequest().withTopicArn(topicArn).withMessage(message).withMessageAttributes(smsAttributes));
System.out.println(result);
}
private static Map<String, MessageAttributeValue> initializeMessage() {
if (smsAttributes == null) {
smsAttributes = new HashMap<String, MessageAttributeValue>();
smsAttributes.put("AWS.SNS.SMS.SenderID",
new MessageAttributeValue().withStringValue("MSGGGG").withDataType("String"));
smsAttributes.put("AWS.SNS.SMS.MaxPrice",
new MessageAttributeValue().withStringValue("0.05").withDataType("Number"));
smsAttributes.put("AWS.SNS.SMS.SMSType",
new MessageAttributeValue().withStringValue("Transactional").withDataType("String"));
}
return smsAttributes;
}
}
的AWS证书可以在这里把
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.sns.AmazonSNSClient;
import common.PropertiesFileReader;
import constants.StringConstants;
public class AwsSNSCredentials {
private static final String CLIENT_SMS_TOKEN = "AWS Secret Id";
private static final String CLIENT_SMS_SECRET = "AWS Secret Key";
private static final BasicAWSCredentials CREDENTIALS = new BasicAWSCredentials(CLIENT_SMS_TOKEN, CLIENT_SMS_SECRET);
private static AmazonSNSClient snsClient = null;
public static AmazonSNSClient getSnsClient() {
if(null == snsClient) {
snsClient = new AmazonSNSClient(CREDENTIALS)
.withRegion(Regions.US_WEST_2);
}
return snsClient;
}
}
相关问题
- 1. 使用亚马逊网络服务
- 2. 使用亚马逊网络服务发送电子邮件
- 3. 亚马逊网络服务和非亚马逊网站
- 4. 亚马逊网络服务 - API网关
- 5. 亚马逊SES最大发送速率
- 6. 亚马逊网络服务启动
- 7. 亚马逊网络服务503错误
- 8. 亚马逊网络服务S3和EC2
- 9. 亚马逊网络服务在非洲
- 10. S3亚马逊网络服务许可
- 11. 亚马逊Nodejs网络服务器
- 12. 亚马逊网络服务EMR定价
- 13. 亚马逊网络服务问题
- 14. 亚马逊网络服务+ iphone教程
- 15. 亚马逊网络服务安全吗?
- 16. 亚马逊网络服务 - 签名
- 17. 亚马逊网络服务MQTT
- 18. 亚马逊网络服务节流
- 19. Drupal与亚马逊网络服务?
- 20. 亚马逊网络服务SDK iOS
- 21. Xamarin Android亚马逊网络服务
- 22. 亚马逊网络服务性能
- 23. Swift和亚马逊网络服务
- 24. 亚马逊网络服务(AWS)架构
- 25. EC2实例|亚马逊网络服务
- 26. 亚马逊网络服务 - 入门
- 27. 亚马逊SES getSendStatistics
- 28. 在亚马逊SES
- 29. Centos /亚马逊SES
- 30. 亚马逊SES OutOfMemoryError
你能提供一个源发送短信群发美国只限制? – michaelbahr
当然 - 看看http://aws.amazon.com/sns/下面的**交付多个协议**标题。 – Richard