Saltar al contenido

SMTPException: no se pueden leer los datos de la conexión de transporte: net_io_connectionclosed

Esta división ha sido evaluado por especialistas así aseguramos la veracidad de nuestra esta sección.

Solución:

Si tiene una conexión a Internet residencial, a menudo su ISP bloqueará los envíos de correo electrónico salientes al bloquear todas las conexiones salientes al puerto 25. Esto es bastante común aquí en los EE. UU. Intente conectarse a un servidor de correo electrónico local a través de TCP/IP o a uno en su propia red interna.

Este hilo contiene algunos.

Por ejemplo: parece como asignar un static IP podría resolver el problema.

Lo que significa este error es que System.net.mail no pudo encontrar el servidor smtp.

La respuesta variará dependiendo de si tienes una IP fija o una IP dinámica pero, básicamente, necesitas asignar una IP válida a tu servidor smtp.

Con IP fijas, esto es relativamente sencillo. Con IP dinámicas, se necesita un poco de ajuste.

Abra el Administrador de IIS y compruebe las propiedades del servidor smtp.

En las propiedades del servidor virtual SMTP predeterminado, en la pestaña “Acceso”, en los cuadros de diálogo Control de conexión y Retransmisión, asegúrese de que su IP local esté asignada. ( En mi caso, es 10.0.0.2… )

Es posible que también deba modificar su archivo de hosts, para apuntar 127.0.0.1 al nombre de su máquina. (WINDOWSsystem32driversetchosts)

Luego, en su código, asigne el nombre de su máquina al cliente smtp:

Dim client As New SmtpClient("yourmachinename") client.Send(mail)

Alternativamente, otro tipo en el mismo hilo parece haber encontrado una solución para que la conexión SMTP no se cierre correctamente.

Colocar SmtpClient.ServicePoint.MaxIdleTime = 1 de acuerdo con una solución compatible: http://connect.microsoft.com/VisualStudio/feedback/Workaround.aspx?FeedbackID=146711 que hace que todo el smtp funcione correctamente.

Aquí hay una muestra completa:

MailMessage msgMail = new MailMessage();
msgMail.To.Add(new MailAddress("[email protected]"));
msgMail.Subject = "Message from web";
msgMail.IsBodyHtml = true;
msgMail.Body = "Test message";
SmtpClient Client = new SmtpClient();  /* uses settings form web.config */
Client.ServicePoint.MaxIdleTime = 1; /* without this the connection is idle too long and not terminated, times out at the server and gives sequencing errors */
Client.Send(msgMail);
msgMail.Dispose();

Puedes auxiliar nuestra función añadiendo un comentario o dejando una valoración te estamos eternamente agradecidos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *