12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- package services
- import (
- "errors"
- "gopkg.in/gomail.v2"
- "hongze/hongze_yb_en_api/models/msg_code"
- "hongze/hongze_yb_en_api/utils"
- "strings"
- "time"
- )
- // SendEmailCode 发送邮件
- func SendEmailCode(email string) (err error, errMsg string) {
- if email == "" {
- err = errors.New("请输入邮箱地址")
- return
- }
- if !utils.ValidateEmailFormatat(email) {
- err = errors.New("邮箱格式错误,请重新输入")
- return
- }
- msgCode := utils.GetRandDigit(4)
- content := "尊敬的用户:</br>您好,感谢您使用弘则研究,您正在进行邮箱验证,本次请求的验证码为:" + msgCode + "(为了保障您账号的安全性,请在15分钟内完成验证。)</br>弘则研究团队 </br>" + time.Now().Format(utils.FormatDateCN)
- title := "弘则研究登陆验证"
- //发送邮件
- result, err := SendEmailByHz(title, content, email)
- if result {
- item := &msg_code.MsgCode{
- Mobile: email,
- Code: msgCode,
- ExpiredIn: time.Now().Add(15 * time.Minute).Unix(),
- Enabled: 1,
- CreatedTime: time.Time{},
- LastUpdatedTime: time.Time{},
- }
- err = item.Create()
- } else {
- err = errors.New("发送失败")
- }
- return
- }
- //发送邮件
- func SendEmailByHz(title, content string, touser string) (result bool, err error) {
- var arr []string
- sub := strings.Index(touser, ";")
- if sub >= 0 {
- spArr := strings.Split(touser, ";")
- for _, v := range spArr {
- arr = append(arr, v)
- }
- } else {
- arr = append(arr, touser)
- }
- m := gomail.NewMessage()
- m.SetHeader("From", "public@hzinsights.com")
- m.SetHeader("To", arr...)
- m.SetHeader("Subject", title)
- m.SetBody("text/html", content)
- d := gomail.NewDialer("smtp.mxhichina.com", 465, "public@hzinsights.com", "Hzinsights2018")
- if err := d.DialAndSend(m); err != nil {
- result = false
- return result, err
- }
- result = true
- return
- }
|