github.com/inhzus/go-berater@v0.0.0-20190602170559-fb80cb14726b/utils/sms.go (about) 1 package utils 2 3 import ( 4 "encoding/json" 5 "errors" 6 "github.com/aliyun/alibaba-cloud-sdk-go/sdk" 7 "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests" 8 "github.com/inhzus/go-berater/config" 9 ) 10 11 func SendSMS(phone, code string) error { 12 c := config.GetConfig() 13 client, err := sdk.NewClientWithAccessKey("cn-hangzhou", c.Code.AccessKey, c.Code.AccessSecret) 14 if err != nil { 15 return err 16 } 17 18 request := requests.NewCommonRequest() 19 request.Method = "POST" 20 request.Scheme = "https" // https | http 21 request.Domain = "dysmsapi.aliyuncs.com" 22 request.Version = "2017-05-25" 23 request.ApiName = "SendSms" 24 request.QueryParams["RegionId"] = "cn-hangzhou" 25 request.QueryParams["PhoneNumbers"] = phone 26 request.QueryParams["SignName"] = "南大咨询" 27 request.QueryParams["TemplateCode"] = "SMS_163433313" 28 request.QueryParams["TemplateParam"] = "{\"code\":\"" + code + "\"}" 29 30 res, err := client.ProcessCommonRequest(request) 31 if err != nil { 32 return err 33 } 34 var j map[string]interface{} 35 _ = json.Unmarshal(res.GetHttpContentBytes(), &j) 36 if j["Code"] == "OK" { 37 return nil 38 } else { 39 return errors.New(j["Message"].(string)) 40 } 41 }