使用Amazon AWS SNS 发送 SMS 消息 .net

时间:2020-12-17 21:28:43

1.浏览aws 开发人员指南

https://docs.aws.amazon.com/zh_cn/sns/latest/dg/sms_publish-to-phone.html

2.安装 aws sms net api : AWSSDK.SimpleNotificationService

使用Amazon AWS SNS 发送 SMS 消息 .net

3.调用 AmazonSimpleNotificationServiceClient 发送SMS

string defaultSenderID="AppName";
string message = "[AppName] Enter this verification code 000000 in your app now.";//消息
string phoneNumber = "+8618372712159"; //手机号
string defaultSMSType = "Promotional"; //Promotional – 不重要的消息|Transactional – 为客户事务处理提供支持的重要消息
SMS_Entity mode = new SMS_Entity() { Contents = message, MobileNumber = phoneNumber };
try
{
AmazonSimpleNotificationServiceClient snsClient = new AmazonSimpleNotificationServiceClient(awsAccessKeyId, awsSecretAccessKey, RegionEndpoint.APSoutheast1);
PublishRequest publishReq = new PublishRequest();
publishReq.Message = message;
publishReq.PhoneNumber = phoneNumber;
publishReq.MessageAttributes = new Dictionary<string, MessageAttributeValue>();
publishReq.MessageAttributes.Add("AWS.SNS.SMS.SenderID", new MessageAttributeValue() { DataType = "String", StringValue = defaultSenderID });
publishReq.MessageAttributes.Add("AWS.SNS.SMS.SMSType", new MessageAttributeValue() { DataType = "String", StringValue = defaultSMSType });
PublishResponse response = snsClient.Publish(publishReq);
mode.Response = JsonConvert.SerializeObject(response);
mode.SendStatus = response.HttpStatusCode.ToString();
if (response.HttpStatusCode == System.Net.HttpStatusCode.OK)
mode.Result = true;
else
mode.Result = false;
}
catch (Exception ex)
{
mode.SendStatus = "error:" + ex.Message;
mode.Result = false;
}

注意:awsAccessKeyId,awsSecretAccessKey,RegionEndpoint,需要登陆aws的控制台查看