dysms.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package aliyun
  2. import (
  3. "fmt"
  4. "os"
  5. openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
  6. dysmsapi20170525 "github.com/alibabacloud-go/dysmsapi-20170525/v3/client"
  7. util "github.com/alibabacloud-go/tea-utils/v2/service"
  8. "github.com/alibabacloud-go/tea/tea"
  9. )
  10. func Init() (*dysmsapi20170525.Client, error) {
  11. AccessKeyId := os.Getenv("ALIYUN_ACCESS_KEY_ID")
  12. AccessKeySecret := os.Getenv("ALIYUN_ACCESS_KEY_SECRET")
  13. config := &openapi.Config{
  14. // 您的 AccessKey ID
  15. AccessKeyId: &AccessKeyId,
  16. // 您的 AccessKey Secret
  17. AccessKeySecret: &AccessKeySecret,
  18. }
  19. // 访问的域名
  20. config.Endpoint = tea.String("dysmsapi.aliyuncs.com")
  21. client := &dysmsapi20170525.Client{}
  22. client, err := dysmsapi20170525.NewClient(config)
  23. if err != nil {
  24. return nil, err
  25. }
  26. return client, nil
  27. }
  28. // 发送短信验证码
  29. func SendCaptcha(mobile string, code string) error {
  30. sendSmsRequest := &dysmsapi20170525.SendSmsRequest{
  31. PhoneNumbers: &mobile,
  32. SignName: tea.String("上医未来"),
  33. TemplateCode: tea.String("SMS_243630961"),
  34. TemplateParam: tea.String(fmt.Sprintf("{\"code\":\"%s\"}", code)),
  35. }
  36. client, err := Init()
  37. if err != nil {
  38. return err
  39. }
  40. runtime := &util.RuntimeOptions{}
  41. _, err = client.SendSmsWithOptions(sendSmsRequest, runtime)
  42. if err != nil {
  43. return err
  44. }
  45. return nil
  46. }