• SpringBoot整合阿里云发送短信 (demo)


    1. 登录阿里云 - 搜索【短信服务】- 套餐【立即购买】

    2. 添加签名

    国内消息 - 签名管理 - 添加签名

    3. 添加模板

    国内消息 - 模板管理 - 添加模板

    模板详细

    4. 依赖
    1. <!--阿里云短信服务-->
    2. <dependency>
    3. <groupId>com.aliyun</groupId>
    4. <artifactId>dysmsapi20170525</artifactId>
    5. <version>2.0.22</version>
    6. </dependency>

    5. SmsUtils

    1. import com.aliyun.dysmsapi20170525.Client;
    2. import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
    3. import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
    4. import com.aliyun.teaopenapi.models.Config;
    5. public class SmsUtils {
    6. private static final String accessKeyId = "你的accessKeyId ";
    7. private static final String accessKeySecret = "你的accessKeySecret ";
    8. private static Client createClient() throws Exception {
    9. Config config = new Config()
    10. .setAccessKeyId(accessKeyId)
    11. .setAccessKeySecret(accessKeySecret);
    12. // 固定
    13. config.endpoint="dysmsapi.aliyuncs.com";
    14. return new Client(config);
    15. }
    16. public static SendSmsResponse sendSms(String signName,String templateCode,String phoneNUmber,String templateParam) {
    17. Client client = null;
    18. try {
    19. client = createClient();
    20. SendSmsRequest sendSmsRequest = new SendSmsRequest();
    21. // 模板code
    22. sendSmsRequest.setTemplateCode(templateCode);
    23. // 关联签名 (获取: 签名管理 - 签名名称)
    24. sendSmsRequest.setSignName(signName);
    25. // 用户手机号
    26. sendSmsRequest.setPhoneNumbers(phoneNUmber);
    27. // 发送的内容
    28. sendSmsRequest.setTemplateParam(templateParam);
    29. SendSmsResponse response = client.sendSms(sendSmsRequest);
    30. return response;
    31. } catch (Exception e) {
    32. e.printStackTrace();
    33. return null;
    34. }
    35. }
    36. }

    6. service

    1. public void sendSms(){
    2. // 用户手机号
    3. String phoneNumber = wxUser.getPhoneNumber();
    4. // 关联签名 (获取: 签名管理 - 签名名称)
    5. String signName ="心理树服务通知";
    6. // 模板code
    7. String templateCode = "SMS_xxxxxxxxx";
    8. // 发送内容
    9. JSONObject param = new JSONObject();
    10. param.set("name",wxUser.getAliasName());
    11. param.set("time1",order.getSettingDate()+" "+startTime);
    12. param.set("time2",endTime);
    13. param.set("expert",order.getExpertName());
    14. SendSmsResponse sendSmsResponse = SmsUtils.sendSms(signName,templateCode,phoneNumber,param.toString());
    15. log.info("短信响应message: {},短信响应code: {}",sendSmsResponse.getBody().message,sendSmsResponse.getBody().code);
    16. }

    7. 短信通知

    男性深夜解压 【榨汁女神】

    https://shop321260254.taobao.com/?spm=2013.1.1000126.d21.7e1d3db3oibAUR

  • 相关阅读:
    SpringCloud:Nacos注册中心和服务消费方式
    Kafka 消费者解析
    100个Java工具类之61:队列类Queue
    从零开始搭建Springboot开发环境(Java8+Git+Maven+MySQL+Idea)之一步到位
    Shell 流程控制
    与字节、小米、移动云等企业一起揭秘 RocketMQ 实践之道
    Python利用selenium框架抓取京东的地址数据
    多策略黑猩猩优化算法-附代码
    编译原理:词法分析
    Java之线程池:线程池常用类、接口;线程池执行流程,配置参数,分类
  • 原文地址:https://blog.csdn.net/weixin_43652507/article/details/133277149