转--Golang项目邮件发送模块代码分享

时间:2022-05-04
本文章向大家介绍转--Golang项目邮件发送模块代码分享,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
package sendMail

import (
	"fmt"
	"net/smtp"
	"strings"
)

type senderInfo struct {
	User      string `jsob:user`
	Passwd    string `json:passwd`
	Host_port string `json:host_port`
	Mailaddr  string `json:mailaddr`
	Subject   string `json:subject`
}

func (self *senderInfo) SendMail(toList, body string) error {
	head := fmt.Sprintf("To: %vrnSubject: %vrnContent-Type: text/plain;charset=UTF-8rnrn",
		toList, self.Subject)
	host := strings.Split(self.Host_port, ":")
	if len(host) != 2 {
		return fmt.Errorf("%v not a valid host_port", self.Host_port)
	}
	auth := smtp.PlainAuth("", self.User, self.Passwd, host[0])
	return smtp.SendMail(self.Host_port, auth, self.Mailaddr,
		strings.Split(toList, ";"), []byte(head+body))
}