import (...	"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"	"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile"	ses "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ses/v20201002"...)
func Send(ctx context.Context, toEmail, code string) error {	envPro := common.NewEnvProvider("tencent_sec_id", "tencent_sec_key")	cred, err := envPro.GetCredential()	if err != nil {		logger.L.Error("init tencent credential failed", zap.Error(err))		return err	}
	prof := profile.NewClientProfile()  //region list: https://www.tencentcloud.com/document/product/213/6091	client, err := ses.NewClient(cred, "ap-hongkong", prof)	if err != nil {		logger.L.Error("init tencent ses client failed", zap.Error(err))		return err	}
	var (		tmpId       = uint64(84376)		tmpData     = fmt.Sprintf("{\"code\":\"%s\"}", code)		from        = "service@domain.com"		subject     = "邮箱验证码"		unsubscribe = "0"	)	req := ses.NewSendEmailRequest()	req.Template = &ses.Template{		TemplateID:   &tmpId,		TemplateData: &tmpData,	}	req.Destination = append(req.Destination, &toEmail)	req.FromEmailAddress = &from	req.Subject = &subject	req.Unsubscribe = &unsubscribe	rsp, err := client.SendEmailWithContext(ctx, req)	if err != nil {		logger.L.Error("tencent ses send email failed", zap.Error(err))		return err	}
	logger.L.Info("email code sent out to smtp", zap.String("rsp", rsp.ToJsonString()))	return nil}
评论