目录
获取账号的AccessKey ID 和AccessKey Secret
什么是AccessKey ID 和AccessKey Secret?
概述
哪些平台有短信服务?
许多平台都提供短信服务,例如:阿里云,腾讯云,中国移动,中国联通,中国电信等
此文章使用阿里云的短信服务
阿里云短信服务使用可以分为以下四步
1.开通阿里云短信服务
2.申请签名和模板
3.获取账号的AccessKey ID 和AccessKey Secret
4.API发送短信或则控制台发送
开通阿里云短信服务
登录阿里云
找到短信服务
在首页的导航栏产品中找到企业服务与云通信中的短信服务点开
开通短信服务
阿里云有个人免费100条短信,我们选择免费开通
开通后来到下面的页面中
申请签名和模板
什么是短信签名,什么是模板?
签名是短信中能代表发送者属性的字段
模板即具体发送的短信内容
申请签名
点击左侧栏国内消息并添加签名
点击添加签名后到以下页面,然后按照要求填写即可并提交即可
一般两个小时内会出审批结果
申请模板
点击国内消息,模板管理,添加模板
同样按要求填写并提交即可
等待审核结束,我们就得到了签名和模板
获取账号的AccessKey ID 和AccessKey Secret
什么是AccessKey ID 和AccessKey Secret?
AccessKey ID 和 AccessKey Secret 是您访问阿里云 API 的密钥,具有该账户完全的权限,请您妥善保管
获取AccessKey ID
鼠标放到右上角头像上,点击AccessKey管理
进入以下页面如果已有AccessKey可以跳过此部
点击创建AccessKey
可能需要验证一些信息,直接验证即可
然后会得到AccessKeyID,点击后面的查看Secret可以获得AccessKey Secret
到这即可获得AccessKey ID和AccessKey Secret
API发送短信或则控制台发送
使用API发送短信
这里我使用官方的快速使用案例,为其中每一步做出解释
首先我们需要导入dysmsapi包
go get github.com/aliyun/alibaba-cloud-sdk-go/services/dysmsapi
使用NewClientWithAccessKey()创建一个client客户端,这个客户端可以调用阿里云的API
package main
import (
"github.com/aliyun/alibaba-cloud-sdk-go/services/dysmsapi"
)
func main() {
//参数一:连接的节点地址(有很多节点选择,这里我选择杭州)
//参数二:AccessKey ID
//参数三:AccessKey Secret
client, err := dysmsapi.NewClientWithAccessKey("cn-hangzhou", "LTAI5t**********AWVNP", "qgzyEW4cA*******PBl7iyw")
}
然后创建请求,并填写请求信息
package main
import (
"encoding/json"
"github.com/aliyun/alibaba-cloud-sdk-go/services/dysmsapi"
)
func main() {
//参数一:连接的节点地址(有很多节点选择,这里我选择杭州)
//参数二:AccessKey ID
//参数三:AccessKey Secret
client, err := dysmsapi.NewClientWithAccessKey("cn-hangzhou", "LTAI5t**********AWVNP", "qgzyEW4cA*******PBl7iyw")
request := dysmsapi.CreateSendSmsRequest() //创建请求
request.Scheme = "https" //请求协议
request.PhoneNumbers = "155******85" //接收短信的手机号码
request.SignName = "教程" //短信签名名称
request.TemplateCode = "SMS_******236" //短信模板ID
par, err := json.Marshal(map[string]interface{}{ //定义短信模板参数(具体需要几个参数根据自己短信模板格式)
"code": "123456",
})
request.TemplateParam = string(par) //将短信模板参数传入短信模板
}
调用SendSms()方法发送请求,并处理错误
package main
import (
"encoding/json"
"github.com/aliyun/alibaba-cloud-sdk-go/services/dysmsapi"
)
func main() {
//参数一:连接的节点地址(有很多节点选择,这里我选择杭州)
//参数二:AccessKey ID
//参数三:AccessKey Secret
client, err := dysmsapi.NewClientWithAccessKey("cn-hangzhou", "LTAI5t**********AWVNP", "qgzyEW4cA*******PBl7iyw")
request := dysmsapi.CreateSendSmsRequest() //创建请求
request.Scheme = "https" //请求协议
request.PhoneNumbers = "155******85" //接收短信的手机号码
request.SignName = "教程" //短信签名名称
request.TemplateCode = "SMS_******236" //短信模板ID
par, err := json.Marshal(map[string]interface{}{ //定义短信模板参数(具体需要几个参数根据自己短信模板格式)
"code": "123456",
})
request.TemplateParam = string(par) //将短信模板参数传入短信模板
response, err := client.SendSms(request) //调用阿里云API发送信息
if err != nil { //处理错误
fmt.Print(err.Error())
}
fmt.Printf("response is %#v\n", response) //控制台输出响应
}
执行以上代码即可向指定的手机发送信息
使用控制台发送信息
在页面的侧边栏点击国内消息, 群发助手
最后按照要求填写内容,最后提交即可