1 前言html
定義郵箱服務器鏈接信息,若是是網易郵箱 pass填密碼,qq郵箱填受權碼(客戶端專用密碼)。
gomail包:git
go get gopkg.in/gomail.v2
更多功能能夠參考 https://github.com/go-gomail/gomail github
2 代碼golang
/** * @Author: FB * @Description: * @File: main.go * @Version: 1.0.0 * @Date: 2019/9/7 14:01 */ package main import ( "gopkg.in/gomail.v2" "strconv" "log" "fmt" ) func SendMail(mailTo []string, subject string, body string) error { //定義郵箱服務器鏈接信息,若是是網易郵箱 pass填密碼,qq郵箱填受權碼 //mailConn := map[string]string{ // "user": "xxx@163.com", // "pass": "your password", // "host": "smtp.163.com", // "port": "465", //} mailConn := map[string]string{ "user": "xxx@sample.cn", "pass": "r4r3St*****7a7Uk", "host": "smtp.exmail.qq.com", "port": "465", } port, _ := strconv.Atoi(mailConn["port"]) //轉換端口類型爲int m := gomail.NewMessage() m.SetHeader("From", m.FormatAddress(mailConn["user"], "XX官方")) //這種方式能夠添加別名,即「XX官方」 //說明:若是是用網易郵箱帳號發送,如下方法別名能夠是中文,若是是qq企業郵箱,如下方法用中文別名,會報錯,須要用上面此方法轉碼 //m.SetHeader("From", "FB Sample"+"<"+mailConn["user"]+">") //這種方式能夠添加別名,即「FB Sample」, 也能夠直接用<code>m.SetHeader("From",mailConn["user"])</code> 讀者能夠自行實驗下效果 //m.SetHeader("From", mailConn["user"]) m.SetHeader("To", mailTo...) //發送給多個用戶 m.SetHeader("Subject", subject) //設置郵件主題 m.SetBody("text/html", body) //設置郵件正文 d := gomail.NewDialer(mailConn["host"], port, mailConn["user"], mailConn["pass"]) err := d.DialAndSend(m) return err } func main() { //定義收件人 mailTo := []string{ "abc@sample.com", } //郵件主題爲"Hello" subject := "Hello by golang gomail from exmail.qq.com" // 郵件正文 body := "Hello,by gomail sent" err := SendMail(mailTo, subject, body) if err != nil { log.Println(err) fmt.Println("send fail") return } fmt.Println("send successfully") }
3 參考服務器
1.golang 使用 gomail 發送郵件code