今天在项目上遇到一个问题,项目上使用gomail库进行邮件的发送,在自己电脑上测试是可以正常发送邮件的,但是要上线的前一天,进行了上线部署测试,结果发送邮件的功能一直报错,通过谷歌找到了解决方法。
报错信息为:x509:certificatesignedbyunknownauthority\color{red}{报错信息为:x509: certificate signed by unknown authority}报错信息为:x509:certificatesignedbyunknownauthority
解决方法是在发送邮件前将TLSConfig中的InsecureSkipVerify设置为true,下面是一个damo:
func main() {
Title := fmt.Sprintf("Send Email Test %s", time.Now().Format("2006/01/02 15:04"))
m := gomail.NewMessage()
m.SetHeader(`From`, "wangzhen2@sensetime.com")
m.SetHeader(`To`, "wangzhen2@sensetime.com")
m.SetHeader(`Subject`, Title)
// 下面的配置改成你自己的邮箱配置
d := gomail.NewDialer("", "", "", "")
// 修改TLSconfig
d.TLSConfig = &tls.Config{InsecureSkipVerify: true}
if err := d.DialAndSend(m); err != nil {
log.Error(err)
}
}