I have an ASP.NET web API that I'm trying to use to send an email. I'm getting authentication issues using smtp.gmail.com and 587. I've seen several links saying to toggle the 'Allow less secure apps' option on my Google Apps account, but I'd rather not have to explain to the owners why they need to pick this dubious-sounding setting.
Is there a way to package an email request in ASP.NET that Google will like, or will I have to select the 'Allow less secure apps' option?
This is the code I'm using that Google doesn't like.
using (var client = new SmtpClient("smtp.googlemail.com", 587))
{
client.Credentials =
new System.Net.NetworkCredential("address@yourdomain.com", "yourpassword");
client.EnableSsl = true;
var msg = new MailMessage("address@yourdomain.com", "toaddress@anotherdomain.com");
msg.Body = "[YOUR EMAIL BODY HERE]";
msg.Subject = "[Message Subject]";
client.Send(msg);
}
Google changed some time ago (one or two years ago) possibility to use its SMTP servers. Google now requires higher level of security and authentication. However there still is a possibility to use it without 'Allow less secure apps' option, but you cannot use your standard google username and password.
Here is how to do it (in short):
That's all.