代码拉取完成,页面将自动刷新
// coding: utf-8
// @Author : lryself
// @Date : 2021/4/23 0:23
// @Software: GoLand
package email
import (
"encoding/base64"
"fmt"
"net/smtp"
"strings"
)
type SMTPClient struct {
SMTPHost string
SMTPPort string
SMTPUser string
SMTPPass string
}
/**
* @Description 通过smtp发送邮件
* @param to 接收方邮箱,如有多个,以;隔开
* @param subject 邮件主题
* @param format 发送格式,可选html和plain
* @param body
* @return error 返回错误
*/
func (s SMTPClient) SMTPSendEmail(userNikeName, to, subject, format, body string) error {
auth := smtp.PlainAuth("", s.SMTPUser, s.SMTPPass, s.SMTPHost)
bs64 := base64.NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")
header := make(map[string]string)
header["From"] = userNikeName + "<" + s.SMTPUser + ">"
header["To"] = to
header["Subject"] = fmt.Sprintf("=?UTF-8?B?%s?=", bs64.EncodeToString([]byte(subject)))
header["MIME-Version"] = "1.0"
header["Content-Type"] = "text/" + format + "; charset=UTF-8"
header["Content-Transfer-Encoding"] = "base64"
data := ""
for k, v := range header {
data += k + ": " + v + "\r\n"
}
data += "\r\n" + bs64.EncodeToString([]byte(body))
sendTo := strings.Split(to, ";")
err := smtp.SendMail(s.SMTPHost+s.SMTPPort, auth, s.SMTPUser, sendTo, []byte(data))
return err
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。