mirror of
https://gitee.com/XM-GO/PandaX.git
synced 2026-04-28 17:29:36 +08:00
45 lines
991 B
Go
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
|
|
}
|