sms.go 1.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package main
  2. import (
  3. "encoding/json"
  4. openapi "github.com/alibabacloud-go/darabonba-openapi/client"
  5. dysmsapi20170525 "github.com/alibabacloud-go/dysmsapi-20170525/v2/client"
  6. "github.com/alibabacloud-go/tea/tea"
  7. )
  8. var client *dysmsapi20170525.Client
  9. func CreateClient(accessKeyId string, accessKeySecret string) (_result *dysmsapi20170525.Client, _err error) {
  10. config := &openapi.Config{
  11. // 您的AccessKey ID
  12. AccessKeyId: tea.String(accessKeyId),
  13. // 您的AccessKey Secret
  14. AccessKeySecret: tea.String(accessKeySecret),
  15. }
  16. // 访问的域名
  17. config.Endpoint = tea.String("dysmsapi.aliyuncs.com")
  18. _result, _err = dysmsapi20170525.NewClient(config)
  19. return _result, _err
  20. }
  21. func SendSMS(data *[]byte) error {
  22. if nil == client {
  23. if cli, err := CreateClient(_accessKeyId, _accessKeySecret); err != nil {
  24. return err
  25. } else {
  26. client = cli
  27. }
  28. }
  29. sendSmsRequest := &dysmsapi20170525.SendSmsRequest{}
  30. if err := json.Unmarshal(*data, sendSmsRequest); err != nil {
  31. return err
  32. }
  33. if _, err := client.SendSms(sendSmsRequest); err != nil {
  34. return err
  35. }
  36. return nil
  37. }