此Go程序成功从家用计算机发送电子邮件,但在DigitalOcean上的虚拟服务器上收到以下错误:
panic: 530 5.5.1 Authentication Required. Learn more at
以下是代码:
auth := smtp.PlainAuth("", "bjorkbjorksen@gmail.com", "PASSWORD", "smtp.gmail.com")
msg := "Subject: Hello\r\n\r\nWorld!"
e = smtp.SendMail("smtp.gmail.com:587", auth, "bjorkbjorksen@gmail.com", []string{email}, []byte(msg))
if e != nil { panic(e) }
答案 0 :(得分:36)
转到Gmail帐户的安全设置,并将“安全性较低的应用”的权限设置为已启用。 为我工作。
答案 1 :(得分:12)
DERP!我已登录该帐户,并且有一个"可疑登录尝试"页面顶部的警告消息。点击警告并授权访问后,一切正常。
答案 2 :(得分:6)
你需要到这里https://security.google.com/settings/security/apppasswords
然后选择Gmail,然后选择设备。然后单击Generate。简单复制&粘贴由Google生成的密码。
答案 3 :(得分:1)
您需要在设置用于发送邮件的电子邮件时打开POP邮件和IMAP邮件功能。 祝你好运!
答案 4 :(得分:0)
在某些情况下,可以将SMTPAuth设置为true来修复它。当然,您需要将“较少安全的应用程序”的权限设置为“已启用”。
$ mail-> SMTPAuth = true;