阿里云---新的短信服务(整合到消息服务MNS后)

1、阿里云短信服务已经整合到消息服务MNS中了,需要使用MNS的sdk来发送短信。





2、新的sdk地址

JAVA SDK:https://help.aliyun.com/document_detail/51063.html
Python SDK:https://help.aliyun.com/document_detail/51372.html
C# SDK:https://help.aliyun.com/document_detail/52016.html
PHP SDK: https://help.aliyun.com/document_detail/51929.html


3、接下来将讲解新的短信服务demo开发,结尾有源码


准备工作:

[java]  view plain  copy
  1. /**********需要准备的参数**************/  
  2.     public static String YourAccessId="";//需要修改  
  3.     public static String YourAccessKeySecret="";//需要修改  
  4.     //Endpoint  需要修改  
  5.     public static String YourMNSEndpoint="https://14342555.mns.cn-hangzhou.aliyuncs.com/";  
  6.     public static String YourTopic="sms.topic-cn-hangzhou";//主题名称    选择性修改  
  7.     public static String YourSMSTemplateCode="SMS_49290109";//短信模板code  需要修改  
  8.     public static String YourSignName="";//短信签名名称, 需要修改  
  9.     public static String phone1="15575902020";//手机号码需要修改  
  10.     public static String phone2="15575905959";//手机号码需要修改  
  11.     /**********需要准备的参数**************/  


4、获取Endpoint





5、获取主题名称



6、

创建和查看Access Key

https://ak-console.aliyun.com/#/accesskey/



7、YourSignName 和 YourSMSTemplateCode 获取在前面的文章有提到

http://blog.csdn.net/u014520797/article/details/54411392



8、demo

[java]  view plain  copy
  1. package com.kp.test;  
  2.   
  3. import com.aliyun.mns.client.CloudAccount;  
  4. import com.aliyun.mns.client.CloudTopic;  
  5. import com.aliyun.mns.client.MNSClient;  
  6. import com.aliyun.mns.common.ServiceException;  
  7. import com.aliyun.mns.model.BatchSmsAttributes;  
  8. import com.aliyun.mns.model.MessageAttributes;  
  9. import com.aliyun.mns.model.RawTopicMessage;  
  10. import com.aliyun.mns.model.TopicMessage;  
  11.   
  12. /**  
  13.  * @author: py 
  14.  * @version:2017年5月4日 下午2:57:31  
  15.  * com.kp.test.TestNewSms.java 
  16.  * @Desc  
  17.  */  
  18. public class TestNewSms {  
  19.       
  20.     /**********需要准备的参数**************/  
  21.     public static String YourAccessId="";//需要修改  
  22.     public static String YourAccessKeySecret="";//需要修改  
  23.     //Endpoint  需要修改  
  24.     public static String YourMNSEndpoint="https://14342555.mns.cn-hangzhou.aliyuncs.com/";  
  25.     public static String YourTopic="sms.topic-cn-hangzhou";//主题名称    选择性修改  
  26.     public static String YourSMSTemplateCode="SMS_49290109";//短信模板code  需要修改  
  27.     public static String YourSignName="";//短信签名名称, 需要修改  
  28.     public static String phone1="15575902020";//手机号码需要修改  
  29.     public static String phone2="15575905959";//手机号码需要修改  
  30.     /**********需要准备的参数**************/  
  31.       
  32.       
  33.     public static void main(String[] args) {  
  34.         /** 
  35.          * Step 1. 获取主题引用 
  36.          */  
  37.         CloudAccount account = new CloudAccount(YourAccessId, YourAccessKeySecret, YourMNSEndpoint);  
  38.         MNSClient client = account.getMNSClient();  
  39.         CloudTopic topic = client.getTopicRef(YourTopic);  
  40.         /** 
  41.          * Step 2. 设置SMS消息体(必须) 
  42.          * 
  43.          * 注:目前暂时不支持消息内容为空,需要指定消息内容,不为空即可。 
  44.          */  
  45.         RawTopicMessage msg = new RawTopicMessage();  
  46.         msg.setMessageBody("sms-message");  
  47.         /** 
  48.          * Step 3. 生成SMS消息属性 
  49.          */  
  50.         MessageAttributes messageAttributes = new MessageAttributes();  
  51.         BatchSmsAttributes batchSmsAttributes = new BatchSmsAttributes();  
  52.         // 3.1 设置发送短信的签名(SMSSignName)  
  53.         batchSmsAttributes.setFreeSignName(YourSignName);  
  54.         // 3.2 设置发送短信使用的模板(SMSTempateCode)  
  55.         batchSmsAttributes.setTemplateCode(YourSMSTemplateCode);  
  56.         // 3.3 设置发送短信所使用的模板中参数对应的值(在短信模板中定义的,没有可以不用设置)  
  57.         BatchSmsAttributes.SmsReceiverParams smsReceiverParams = new BatchSmsAttributes.SmsReceiverParams();  
  58.         smsReceiverParams.setParam("code""2323");  
  59.         smsReceiverParams.setParam("product", getChinaDateByMM(System.currentTimeMillis()));  
  60.         // 3.4 增加接收短信的号码  
  61.         batchSmsAttributes.addSmsReceiver(phone1, smsReceiverParams);  
  62. //        batchSmsAttributes.addSmsReceiver(phone2, smsReceiverParams);  
  63.         messageAttributes.setBatchSmsAttributes(batchSmsAttributes);  
  64.         try {  
  65.             /** 
  66.              * Step 4. 发布SMS消息 
  67.              */  
  68.             TopicMessage ret = topic.publishMessage(msg, messageAttributes);  
  69.             System.out.println("MessageId: " + ret.getMessageId());  
  70.             System.out.println("MessageMD5: " + ret.getMessageBodyMD5());  
  71.         } catch (ServiceException se) {  
  72.             System.out.println(se.getErrorCode() + se.getRequestId());  
  73.             System.out.println(se.getMessage());  
  74.             se.printStackTrace();  
  75.         } catch (Exception e) {  
  76.             e.printStackTrace();  
  77.         }  
  78.         client.close();  
  79.     }  
  80.       
  81.       
  82.     /** 
  83.      * 使用毫秒转换为中文日期 
  84.      * @param tmpDateInt 
  85.      * @return 
  86.      */  
  87.     public static String getChinaDateByMM(long time){  
  88.         String ret_date = "";  
  89.         java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy年MM月dd日");  
  90.         ret_date = formatter.format(time);  
  91.         return ret_date;  
  92.     }  
  93.   
  94. }  




9、工程结构



10、源码地址

http://download.csdn.net/detail/u014520797/9833556



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值