SJoy
SJoy

Reputation: 142

Email error while sending mail from C# code

I am getting the following error

The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required

How to resolve this? My code:

MailMessage mail = new MailMessage();
mail.From = new MailAddress(FromAddress);
mail.To.Add(email);
mail.Subject = "Forgot Password";
mail.Body = SendMessage;
mail.IsBodyHtml = true;
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
SmtpServer.Port = 587;
SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network;
NetworkCredential myCreds = new NetworkCredential(EmailUsername, EmailPassword);
SmtpServer.Credentials = myCreds;
SmtpServer.EnableSsl = true;
SmtpServer.UseDefaultCredentials = true;
SmtpServer.Send(mail);

Webconfig as follows

<add key="FromAddress" value="[email protected]"/>
<add key="EmailUsername" value="[email protected]"/>
<add key="EmailPassword" value="Josco@321"/>

Changed my email settings as follows.

enter image description here

FromAddress and EmailUsername are same email.

Upvotes: 2

Views: 596

Answers (1)

IrishChieftain
IrishChieftain

Reputation: 15252

Ensure you set SmtpClient.Credentials AFTER calling SmtpClient.UseDefaultCredentials = false.

The order is important as setting SmtpClient.UseDefaultCredentials = false will reset SmtpClient.Credentials to null.

Upvotes: 4

Related Questions