今天在项目上遇到一个问题,项目上使用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("", "", "", "")
// 修改TLSconfig
d.TLSConfig = &tls.Config{InsecureSkipVerify: true}
if err := d.DialAndSend(m); err != nil {
log.Error(err)
}
}