2010-12-20 66 views
30

estoy recibiendo este errorEl servidor SMTP requiere una conexión segura o el cliente no fue autenticado

The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Must issue a STARTTLS command first. e17sm974159fak.34 

Web.config

<mailSettings> 
    <smtp deliveryMethod="Network" 
       from="[email protected]"> 
     <network defaultCredentials="false" host="smtp.gmail.com" port="587" 
        userName="[email protected]" password="12345678" /> 
    </smtp>   
</mailSettings> 

archivo Código

public void Submit() 
     { 
      EnsureCurrentlyValid(); 
      // Send via email 
      var message = new StringBuilder(); 
      message.AppendFormat("Date: {0:yyyy-MM-dd hh:mm}\n", DateTime.Now); 
      message.AppendFormat("Email from: {0}\n", Name); 
      message.AppendFormat("Email: {0}\n", Email); 
      message.AppendFormat("Message: {0}\n", Message); 
      SmtpClient smtpClient = new SmtpClient(); 
      MailMessage m = new MailMessage(
       "[email protected]", // From 
       "[email protected]", // To 
       "Suggestion/Comments", // Subject 
       message.ToString()); // Body 

      smtpClient.Send(m); 
     } 
+0

Hello @ coure2011, Si obtiene la solución de su problema, por favor, ayúdeme, porque estoy recibiendo el mismo error. – Abhishek

Respuesta

49

Intente configurar la EnableSsl propiedad a verdadero:

smtpClient.EnableSsl = true; 

AFAIK esta propiedad solo se puede establecer en código y no se puede especificar en el archivo de configuración.

+0

Vea también: http://stackoverflow.com/questions/32260/sending-email-in-net-through-gmail –

21

Actualmente puede manejar esto en su archivo web.config agregando enableSsl = "true". Esto funcionó para mí y no tuve que hacer nada en el código.

p. Ej.

<network host="smtp.gmail.com" enableSsl="true" ... /> 
+6

enableSSl solo es compatible con .net 4+ – AndyM

Cuestiones relacionadas