52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
/**
|
|
#*****************************************************************************
|
|
# @author MakerYang
|
|
# @site mir2.makeryang.com
|
|
#*****************************************************************************
|
|
*/
|
|
|
|
package Utils
|
|
|
|
import (
|
|
"gopkg.in/gomail.v2"
|
|
"strings"
|
|
)
|
|
|
|
func MailFormat(email string) string {
|
|
atIndex := strings.Index(email, "@")
|
|
if atIndex == -1 {
|
|
return email
|
|
}
|
|
|
|
prefixLength := 2
|
|
if atIndex < prefixLength {
|
|
prefixLength = atIndex
|
|
}
|
|
prefix := email[:prefixLength]
|
|
starsCount := atIndex - prefixLength
|
|
if starsCount < 0 {
|
|
starsCount = 0
|
|
}
|
|
hiddenPart := strings.Repeat("*", starsCount)
|
|
domain := email[atIndex:]
|
|
return prefix + hiddenPart + domain
|
|
}
|
|
|
|
func SendMail(to string, subject string, content string) bool {
|
|
|
|
status := true
|
|
|
|
mail := gomail.NewMessage()
|
|
mail.SetHeader("From", mail.FormatAddress("123456789@foxmail.com", "MakerYang"))
|
|
mail.SetHeader("To", to)
|
|
mail.SetHeader("Subject", subject)
|
|
mail.SetBody("text/html", content)
|
|
|
|
send := gomail.NewDialer("smtp.qq.com", 587, "123456789@foxmail.com", "123456789")
|
|
if err := send.DialAndSend(mail); err != nil {
|
|
status = false
|
|
}
|
|
|
|
return status
|
|
}
|