go 发送短信研究

前提:因为比较信的过阿里云的短信服务,因此本人调用阿里云上面的阿里通信。没有的可以先注册阿里云账号。并且发短信时需要钱的,需要充钱。

主要流程

  • 登录阿里云

  • 进入阿里云的短信服务。控制台中记录

  • 添加签名和模块(要注意:验证码场景可与验证码模版匹配发送,通用场景可与验证码、短信通知、推广短信、国际/港澳台短信模版匹配发送)

  • 调用接口进行

  • 选择相对应的短信服务类型。填写参数。选择语言

  • 填写参数之后,自动生成示例代码

  • 获取AK信息

  • 如果将代码复制出来单独运行,需要替换 "", ""这两个值

  • 代码模板

package main

import(
	"fmt"
	"log"
	"strings"
	"github.com/aliyun/alibaba-cloud-sdk-go/services/dysmsapi"
)


// 发送短信需要必要信息
var (
	regionID = ""   //地区id	
	accessKeyID = ""  //密钥id
	accessSecret = ""  //密钥
) 

func init(){
	log.SetFlags(log.Lshortfile|log.Ltime)
}

func main(){
	fmt.Println("发送短信")
	// 创建客户端
	client,err := dysmsapi.NewClientWithAccessKey(regionID,accessKeyID,accessSecret)
	if err!=nil{
		log.Println("使用密钥创建客户端失败:",err)
		return
	}
	if client==nil{
		log.Println("client is nill")
		return
	}
	log.Println(client)

	// 创建发送消息请求信息
	log.Println("创建发送消息请求")
	request:=dysmsapi.CreateSendSmsRequest()
	log.Println("准备信息")
	request.Scheme = "https"
	request.PhoneNumbers = "" //手机号码
	request.SignName = ""  // 签名的名称
	request.TemplateCode = ""  // 模板代码
	request.TemplateParam = "{\"code\":123456}"  // 会代替${code}
	// 发送消息
	response,err := client.SendSms(request)
	if err!=nil{
		log.Println("发送消息错误",err)
		return
	}
	fmt.Printf("response is %#v\n",response)
	if strings.ToLower(response.Message)=="ok"{
		log.Println("发送消息成功")
		return
	}
}

(有涉及到阿里云利益问题,可以直接说明,删)

posted @   Myuniverse  阅读(896)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2018-11-18 canvas的基本用法
点击右上角即可分享
微信分享提示