Files
PandaX/base/sms/aliyun.go
2022-01-14 17:37:01 +08:00

45 lines
991 B
Go

package sms
import (
"github.com/aliyun/alibaba-cloud-sdk-go/services/dysmsapi"
"github.com/pkg/errors"
)
type AliConfig struct {
accessKeyId string
accessSecret string
RegionId string
}
type AliSms struct {
config AliConfig
}
func NewAliSms(AliConfig AliConfig) *AliSms {
return &AliSms{
config: AliConfig,
}
}
func (a *AliSms) Send(PhoneNumbers, SignName, TemplateCode, TemplateParam string) error {
//客户端
client, err := dysmsapi.NewClientWithAccessKey(a.config.RegionId, a.config.accessKeyId, a.config.accessSecret)
if err != nil {
return errors.Wrapf(err, "ali sms client init fail")
}
//参数处理
request := dysmsapi.CreateSendSmsRequest()
request.Scheme = "https"
request.PhoneNumbers = PhoneNumbers
request.SignName = SignName
request.TemplateCode = TemplateCode
//json格式
request.TemplateParam = TemplateParam
//发送
_, err = client.SendSms(request)
if err != nil {
return errors.Wrapf(err, "ali sms send fail")
}
return nil
}