sms.go 1.3KB

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