unable una smtpexception servidor segura said respuesta respondio requiere rejected recipient permanent ora net must mail issue fue for first failed externos está error envia does disponible diagnostic correos correo conexión code cliente buzón auth autenticó aup603 c# asp.net iis

c# - una - smtp no envia correos externos



La respuesta del servidor fue: 5.7.0 Primero debe emitir un comando STARTTLS. i16sm1806350pag.18-gsmtp (7)

" https://www.google.com/settings/security/lesssecureapps " utiliza este enlace después de iniciar sesión en tu cuenta de Gmail y haz clic en encender. Luego ejecuta tu aplicación, seguramente funcionará.

Intento enviar correos usando Gmail, y obtengo una excepción que es 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. i16sm1806350pag.18 - gsmtp 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. i16sm1806350pag.18 - gsmtp

el código que he escrito para enviar el correo es

MailMessage mail = new MailMessage(); mail.To.Add(txtEmail.Text.Trim()); mail.To.Add("[email protected]"); mail.From = new MailAddress("[email protected]"); mail.Subject = "Confirmation of Registration on Job Junction."; string Body = "Hi, this mail is to test sending mail using Gmail in ASP.NET"; mail.Body = Body; mail.IsBodyHtml = true; SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587); // smtp.Host = "smtp.gmail.com"; //Or Your SMTP Server Address smtp.Credentials = new System.Net.NetworkCredential("[email protected]", "password"); // smtp.Port = 587; //Or your Smtp Email ID and Password smtp.UseDefaultCredentials = false; // smtp.EnableSsl = true; smtp.Send(mail);

Por favor, dígame soluciones. No recibo ninguna solución para estas excepciones.


ENVIAR tecla lógica

string fromaddr = "[email protected]"; string toaddr = TextBox1.Text;//TO ADDRESS HERE string password = "YOUR PASSWROD"; MailMessage msg = new MailMessage(); msg.Subject = "Username &password"; msg.From = new MailAddress(fromaddr); msg.Body = "Message BODY"; msg.To.Add(new MailAddress(TextBox1.Text)); SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.Port = 587; smtp.UseDefaultCredentials = false; smtp.EnableSsl = true; NetworkCredential nc = new NetworkCredential(fromaddr,password); smtp.Credentials = nc; smtp.Send(msg);

-> este código funciona al 100%, si tiene un antivirus en su sistema, ese software anti virus cortafuegos Restrinja el envío de correos de nuestro sistema, de modo que deshabilite su sistema antivirus y firewall. Después de ejecutar este código ... En este código de arriba se usa el control TextBox1.Text para TOaddress


Este problema me persiguió durante la noche también. A continuación, le indicamos cómo solucionarlo:

  • Establecer el host en: smtp.gmail.com
  • Establezca el puerto a: 587

Este es el puerto TLS. He estado usando todos los otros puertos SMTP sin éxito. Si establece enableSsl = true esta manera:

Dim SMTP As New SmtpClient(HOST) SMTP.EnableSsl = True

Recorte los campos de nombre de usuario y contraseña (una buena forma de evitar errores si el usuario ingresa el correo electrónico y la contraseña al registrarse como lo hace el mío) de esta manera:

SMTP.Credentials = New System.Net.NetworkCredential(EmailFrom.Trim(), EmailFromPassword.Trim())

El uso del puerto TLS tratará su SMTP como SMTPS permitiéndole autenticarse. Inmediatamente, recibí una advertencia de Google que decía que mi correo electrónico bloqueaba una aplicación que presentaba riesgos de seguridad o estaba desactualizada. Procedí a "Activar aplicaciones menos seguras". Luego actualicé la información sobre mi número de teléfono y google me envió un código de verificación por mensaje de texto. Entré y ¡voila!

Ejecuté la aplicación nuevamente y fue exitosa. Sé que este hilo es viejo, pero revisé la red leyendo todas las excepciones que estaba lanzando y agregando MsgBoxes después de cada línea para ver qué salió mal. Aquí está mi código de trabajo modificado para la legibilidad ya que todas mis variables provienen de la base de datos MySQL:

Try Dim MySubject As String = "Email Subject Line" Dim MyMessageBody As String = "This is the email body." Dim RecipientEmail As String = "[email protected]" Dim SenderEmail As String = "[email protected]" Dim SenderDisplayName As String = "FirstName LastName" Dim SenderEmailPassword As String = "SenderPassword4Gmail" Dim HOST = "smtp.gmail.com" Dim PORT = "587" ''TLS Port Dim mail As New MailMessage mail.Subject = MySubject mail.Body = MyMessageBody mail.To.Add(RecipientEmail) mail.From = New MailAddress(SenderEmail, SenderDisplayName) Dim SMTP As New SmtpClient(HOST) SMTP.EnableSsl = True SMTP.Credentials = New System.Net.NetworkCredential(SenderEmail.Trim(), SenderEmailPassword.Trim()) SMTP.DeliveryMethod = SmtpDeliveryMethod.Network SMTP.Port = PORT SMTP.Send(mail) MsgBox("Sent Message To : " & RecipientEmail, MsgBoxStyle.Information, "Sent!") Catch ex As Exception MsgBox(ex.ToString) End Try

Espero que este código ayude al OP, pero también a todos los que lleguen tarde a la fiesta. Disfrutar.


Gmail requiere que uses una conexión segura. Esto puede establecerse en su web.config así:

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

O

SSL también debe habilitarse en el servidor web. Referir el siguiente enlace

Habilitar SSL en IIS 7.0


Si está pasando (como yo) todos los parámetros como puerto, nombre de usuario, contraseña a través de un sistema y no está permitido modificar el código, entonces puede hacer este cambio fácil en el web.config:

<system.net> <mailSettings> <smtp> <network enableSsl="true"/> </smtp> </mailSettings> </system.net>


Si obtiene el error "atributo no reconocido ''enableSsl''" cuando sigue los consejos para agregar ese parámetro a su web.config. Descubrí que podía solucionar el error añadiéndolo a mi archivo de código en este formato:

SmtpClient smtp = new SmtpClient(); smtp.EnableSsl = true; try { smtp.Send(mm); } catch (Exception ex) { MsgBox("Message not emailed: " + ex.ToString()); }

Esta es la sección system.net de mi web.config:

<system.net> <mailSettings> <smtp from="<from_email>"> <network host="smtp.gmail.com" port="587" userName="<your_email>" password="<your_app_password>" /> </smtp> </mailSettings> </system.net>


Paso (1): smtp.EnableSsl = true;

si no es suficiente:

Paso (2): " Acceso para aplicaciones menos seguras " debe estar habilitado para la cuenta de Gmail utilizada por NetworkCredential usando la página de configuración de google :