短信服务借助于阿里云
程序员文章站
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
}
}
上一篇: PHP如何计算指定区域的素数总个数?
下一篇: PHP文件解析及打开PHP文件方法