今天在项目上遇到一个问题,项目上使用gomail库进行邮件的发送,在自己电脑上测试是可以正常发送邮件的,但是要上线的前一天,进行了上线部署测试,结果发送邮件的功能一直报错,通过谷歌找到了解决方法。
报 错 信 息 为 : x 509 : c e r t i f i c a t e s i g n e d b y u n k n o w n a u t h o r i t y \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("", "", "", "")// 修改TLSconfigd.TLSConfig = &tls.Config{
InsecureSkipVerify: true}if err := d.DialAndSend(m); err != nil {
log.Error(err)}
}