This Go program successfully sends email from my home computer, but on a virtual server on DigitalOcean receives the following error:
panic: 530 5.5.1 Authentication Required. Learn more at
Here's the code:
auth := smtp.PlainAuth("", "[email protected]", "PASSWORD", "smtp.gmail.com")
msg := "Subject: Hello\r\n\r\nWorld!"
e = smtp.SendMail("smtp.gmail.com:587", auth, "[email protected]", []string{email}, []byte(msg))
if e != nil { panic(e) }
Derp! I signed into the account and there was a "Suspicious login attempt" warning message at the top of the page. After clicking the warning and authorizing the access, everything works.
in may case setting SMTPAuth to true fixed it. Of-course you need to set permissions for "Less secure apps" to Enabled.
$mail->SMTPAuth = true;
You need turn on the POP mail and IMAP mail feature in setting of the email you are using to send mail. Good luck!
You need to go here https://security.google.com/settings/security/apppasswords
then select Gmail and then select device. then click on Generate. Simply Copy & Paste password which is generated by Google.
Get to your Gmail account's security settings and set permissions for "Less secure apps" to Enabled. Worked for me.
Source: Stackoverflow.com