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)