Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Golang通过jordan wright发送电子邮件/email.v1_Email_Go_Gmail_Certificate - Fatal编程技术网

Golang通过jordan wright发送电子邮件/email.v1

Golang通过jordan wright发送电子邮件/email.v1,email,go,gmail,certificate,Email,Go,Gmail,Certificate,我正在编写web服务器,我需要通过我的服务器发送电子邮件。我试着按照示例中所写的去做,但我得到了错误: EXTRA x509.UnknownAuthorityError=x509:由未知机构签署的证书 我的代码如下: inviteEmail := email.NewEmail() //it was said that email.v1 imported as email inviteEmail.From = MyEmail inviteEmail.To = make([]string, 1) i

我正在编写web服务器,我需要通过我的服务器发送电子邮件。我试着按照示例中所写的去做,但我得到了错误:
EXTRA x509.UnknownAuthorityError=x509:由未知机构签署的证书

我的代码如下:

inviteEmail := email.NewEmail() //it was said that email.v1 imported as email
inviteEmail.From = MyEmail
inviteEmail.To = make([]string, 1)
inviteEmail.To[0] = emailstr //is reciever's email
inviteEmail.Subject = "Test"
inviteEmail.Text = []byte("Welcome " + emailstr + " \nYour link is localhost:8080")
err = inviteEmail.Send("smtp.gmail.com:587", smtp.PlainAuth("", MyGmail, MyGmailPassword, "smtp.gmail.com"))
if err != nil {
    logger.Error("ERROR : ", err)
} else {
    logger.Info("Email sent")
}
upd:我试图在PalinAuth中同时使用MyGmail和MyGmailLogin(不带@gmail.com),但我总是出错


有人面对过吗?问题可能是因为服务器位于本地主机上?

该错误与您的身份验证无关,这是TLS错误。“服务器在本地主机上”是什么意思?您是否已将“smtp.gmail.com”解析为127.0.0.1?您所说的“服务器位于本地主机上”是什么意思?(@JimB)我的意思是我的服务器不在www.address.com上,而在localhost:8080上。你有“smtp.gmail.com”解析为127.0.0.1吗?(@JimB)我不知道。对不起,我对网络很陌生,而且我可能有一些翻译问题。如果你的意思是“ping吗?”那么答案是肯定的,ping很好。我需要检查什么以及如何检查?谢谢,我想通知您失败了,您的用户名没有突出显示@JimBAre您是在连接到
smtp.gmail.com
,还是在本地主机上连接到您的服务器时收到证书错误?我想是在连接到smtp.gmail.com时,因为我的服务器实际工作(网站已打开),但当我尝试
err=inviteEmail.Send时(“smtp.gmail.com:587”,smtp.PlainAuth(“,MyGmail,MyGmailPassword,smtp.gmail.com”)
那么我有这样的错误该错误与您的身份验证无关,这是一个TLS错误。您所说的“服务器在本地主机上”是什么意思?您是否有“smtp.gmail.com”解析为127.0.0.1?您所说的“服务器在本地主机上”是什么意思?(@JimB)我的意思是,我的服务器不在www.address.com上,而在localhost:8080上。你有“smtp.gmail.com”解析为127.0.0.1吗?(@JimB)我不知道。对不起,我对网络很陌生,而且我可能有一些翻译问题。如果你的意思是“它是ping吗?”?“所以答案是肯定的,它发出的声音很好。我需要检查什么以及如何检查?谢谢,我想通知您失败了,您的用户名没有突出显示@JimBAre您是在连接到
smtp.gmail.com
,还是在本地主机上连接到您的服务器时收到证书错误?我想是在连接到smtp.gmail.com时,因为我的服务器实际工作(网站已打开),但当我尝试
err=inviteEmail.Send时(“smtp.gmail.com:587”,smtp.PlainAuth(“,MyGmail,MyGmailPassword,smtp.gmail.com”)
那么我有这样的错误