代码拉取完成,页面将自动刷新
package stringutils
import (
"context"
"gitee.com/cristiane/micro-mall-api/vars"
"strings"
"sync"
"time"
)
var (
one sync.Once
DefaultEmailHelper *Client
)
func initVars() {
DefaultEmailHelper = NewClient(vars.EmailConfigSetting.User, vars.EmailConfigSetting.Password, vars.EmailConfigSetting.Host, vars.EmailConfigSetting.Port)
}
const maxRetrySendTimes = 3
const retryIdleTime = 500 * time.Millisecond
func SendEmailNotice(ctx context.Context, receivers, subject, msg string) error {
one.Do(func() {
initVars()
})
var err error
emailReq := &SendRequest{
Receivers: strings.Split(receivers, ","),
Subject: subject,
Message: msg,
}
// retry send email
for retryCount := 0; retryCount < maxRetrySendTimes; retryCount++ {
err = DefaultEmailHelper.SendEmail(emailReq)
if err == nil {
break
}
time.Sleep(retryIdleTime)
}
if err != nil {
vars.ErrorLogger.Errorf(ctx, "send email err: %v, req: %v", err, emailReq)
return err
}
return nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。