Adrian Adrian -4 years ago 282
C# Question

System.Net.Mail.SmtpException: The SMTP server requires a secure connection or the client was not authenticated

I'm trying to send email with my website's address from a C# application.

This worked fine for several months until recently. (maybe my provider changes some things or someone else changed settings)

Here's the code:

private void sendEmail(Email invite) {
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient(smtpServerName);
mail.From = new MailAddress(emailUsername);

mail.Subject = invite.MessageSubject;
mail.Body = invite.MessageBody;

SmtpServer.UseDefaultCredentials = false;
SmtpServer.Port = 587;
SmtpServer.Credentials = new System.Net.NetworkCredential(emailUsername, emailPassword);
// SmtpServer.EnableSsl = true;

Here's the error:

The SMTP server requires a secure connection or the client was not authenticated. The server response was: SMTP authentication is required.

Looking at other questions I tried what they suggested, to make
SmtpServer.EnableSsl = true
. This didn't work at all. It gave the following:

System.Net.Mail.SmtpException: Server does not support secure connections.

I'm guessing I should disable SSL and have it the way it was before.

Any suggestions how to make email sending work again?


I've tried without
SmtpServer.UseDefaultCredentials = false;

I've tried with it set to true:
SmtpServer.UseDefaultCredentials =true;

I've tried commenting that line along with the following
//SmtpServer.Credentials = new System.Net.NetworkCredential(emailUsername, emailPassword);

Answer Source

That error message is typically caused by one of the following:

  • Incorrect connection settings, such as the wrong port specified for the secured or non-secured connection
  • Incorrect credentials. I would verify the username and password combination, to make sure the credentials are correct.
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download