欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

短信服务借助于阿里云

程序员文章站 2022-03-11 18:31:16
...
https://homenew.console.aliyun.com/ 登录阿里云
可以把验证码存于redis中设置过期时间,5分钟比如。
package main

import (
   "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
   "encoding/json"
   "github.com/aliyun/alibaba-cloud-sdk-go/sdk"
   "fmt"
)
type Message struct {
   Message string
   RequestId string
   BizId string
   Code string
}
//https://homenew.console.aliyun.com/    搜索 短信服务  再搜索  开发者指南
//1.目的:写程序调用阿里云的短信服务接口,给指定的手机号发送短信。
//调用短信服务API之前,请先在短信服务控制台中添加签名、模板,获取签名和模板的相关参数
//签名和模板必须经审核通过之后才能使用。
//https://help.aliyun.com/document_detail/59210.html?spm=a2c4g.11174283.4.1.36b32c42ugVhs9   文档使用指南
func main(){
   aeesssTD := "LTAIu4sh9mfgqjjr"//需要开通申请
   accessKeySecret := "sTPSi0Ybj0oFyqDTjQyQNqdq9I9akE"//需要开通申请
   //需要发送的内容
   code := "123456"
   toPhoneNum := "13466332029"//目标号码
   SignName := "工信部信访平台"

   //初始化客户端  需要accessKey  需要开通申请
   client, err := sdk.NewClientWithAccessKey("cn-hangzhou",aeesssTD ,accessKeySecret )
   if err != nil {
      fmt.Println("调用接口失败")
      return
   }
   request := requests.NewCommonRequest()
   request.Method = "POST"//设置请求方法
   request.Scheme = "https" // https | http //设置请求协议
   request.Domain = "dysmsapi.aliyuncs.com"//域名
   request.Version = "2017-05-25"//版本号
   request.ApiName = "SendSms"//api名称
   request.QueryParams["RegionId"] = "cn-hangzhou"
   request.QueryParams["PhoneNumbers"] = toPhoneNum//to phonenum
   request.QueryParams["SignName"] = SignName//短信的签名 签名名称   需要申请
   request.QueryParams["TemplateCode"] = "SMS_164275022" //模板号   需要申请
   request.QueryParams["TemplateParam"] = "{\"code\":"+code+"}"

   response, err := client.ProcessCommonRequest(request)
   if err != nil {
      fmt.Println("发送数据失败")
      return
   }
   //json数据解析
   var message Message
   json.Unmarshal(response.GetHttpContentBytes(),&message)
   if message.Message != "OK"{
      //2.给容器赋值
      fmt.Println("解析失败")
      return
   }
}