是否可以使用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