golang发邮件代码

关键字:golang、发邮件
时间:2019年5月

代码

package main

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

func main() {
	log.Println("start...")

	addr := "smtp.163.com:25"
	a := smtp.PlainAuth("", "user2019", "password", "smtp.163.com")
	from := "user2019@163.com"
	to := []string{"12345678@qq.com"}
	msg := "To: "
	msg = msg + strings.Join(to, ",")
	msg = msg + "\r\nFrom: " + from
	msg = msg + "\r\nSubject: " + "test5"
	msg = msg + "\r\n\r\n" + "This is a test mail."
	err := smtp.SendMail(addr, a, from, to, []byte(msg))
	if err != nil {
		log.Println(err)
		return
	}
}

注:smtp.PlainAuth的第二个参数是账户名,某些邮箱不需要加“@xxx.com”,某些邮箱需要加。