golang发送邮件有多个方法,我选择了其中最简单的一种,下面我来介绍一下

首先我们要引入一个包

import (
	"log"
	"net/smtp"
)

其次我们定义一下使用到常量,这里我们使用的163邮箱,把SMTPUsername和SMTPPassword换成自己的账号密码就可以了,我们也可以使用QQ邮箱(不举例了)

const (
	Host     = "smtp.163.com"
	Port     = ":25"
	Username = "*******@163.com"
	Password = "***************"
)

下面我们就要编写发邮件的代码了 ,可以看到,在代码段里我们用到了一些上边定义的常量。其次,receiver就是收件人的邮箱地址,msg就是你要发送的邮件信息(格式可以按照注释里的写)

func SendEmail(receiver string,msg []byte) {
	auth := smtp.PlainAuth("", Username, Password, Host)
	//msg := []byte("Subject: 这里是标题内容\r\n\r\n" + "这里是正文内容\r\n")
	err := smtp.SendMail(Host+Port, auth, Username, []string{receiver}, msg)
	if err != nil {
		log.Println("failed to send email:", err)
	}
	log.Println(err)
}

后边我们就可以在其他函数调用该方法了,调用示例如下(同一个package下)

msg := []byte("Subject:Learn something every day\r\n\r\n" + "this is content!\r\n")
SendEmail("*********@qq.com",msg)