none
Error The operation has time out RRS feed

  • Pregunta

  • Hola:

    Tengo un codigo desarrollado en la cual envio 2 archivos adjuntos y 2 archivos incrustados en el cuerpo del asunto, estoy trabajando en una pc que tiene windows 7 de 64 bits, sin embargo cuando lo ejecuto en mi pc de desarrollo funciona muy bien.

    Ahora lo compilo a 32 bits ya que este programa lo estoy instalando en un pc donde fisicamente tiene 64 bits pero tengo windows server 2003 Standar Edition de 32 bits, el cual no envia mis correos mostrando el mensaje The operation has time out.

    Aqui copio mi codigo donde se envia los correos:

            
    public string SendMail(string Server, 
                                   int Puerto,
                                   string Clave,
                                   string Desde,
                                   string Nombre,
                                   string Para,
                                   string Asunto,
                                   string Adjunto,
                                   string AdjuntoImg,
                                   string Mensaje)
            {
                Char delimiter = ';';
    
                // create the mail message
                MailMessage mail = new MailMessage();
    
                // set the addresses
                mail.From = new MailAddress(Desde, Nombre);
                mail.To.Add(Para);
    
    
                // set the content
                mail.Subject = Asunto;
                string palinBody = "Plain text content, viewable by clients that don\'t support html";
                AlternateView plainView = AlternateView.CreateAlternateViewFromString(palinBody, null, "text/plain");
    
                // then we create the Html part to embed images,
                // we need to use the prefix 'cid' in the img src value
                string htmlBody = Mensaje;
                AlternateView htmlView = AlternateView.CreateAlternateViewFromString(htmlBody, null, "text/html");
    
                // create image resource from image path using LinkedResource class..            
                int i = 0;
                String[] archivosImg = AdjuntoImg.Split(delimiter);
                foreach (string archivoImg in archivosImg)
                {
                    if (String.IsNullOrEmpty(archivoImg.Trim()) == false)
                    {
                        i = i + 1;
                        LinkedResource imageResource = new LinkedResource(archivoImg, "image/jpeg");
                        imageResource.ContentId = "uniqueId" + i.ToString ();
                        imageResource.TransferEncoding = TransferEncoding.Base64;
                        htmlView.LinkedResources.Add(imageResource);
                    }
                }
    
                // adding files attachements
                String[] archivos = Adjunto.Split(delimiter);
                foreach (string archivo in archivos)
                {
                    if (String.IsNullOrEmpty(archivo.Trim()) == false)
                        mail.Attachments.Add(new Attachment(archivo));
                }
    
                // add the views
                mail.AlternateViews.Add(plainView);
                mail.AlternateViews.Add(htmlView);
    
                // Definir el servidor SMTP, GMail usa SSL para la autenticación
                SmtpClient smtp = new SmtpClient();
                smtp.Host = Server;
                smtp.Port = Puerto;
                smtp.EnableSsl = true;
                smtp.UseDefaultCredentials = false;
                smtp.Timeout = 10000;
                smtp.Credentials = new NetworkCredential(Desde, Clave);
                try
                {
                    smtp.Send(mail);
                    mail.Dispose();
                    return "OK";
                }
                catch (Exception ex)
                {
                    mail.Dispose();
                    return ex.Message.ToString();
                }
    
            }


    Gracias por cualquier ayuda que me puedan dar.


    lunes, 20 de noviembre de 2017 18:20

Respuestas

  • hola

    el hecho que las maquinas sean de 32 o 64 bits no tiene nada que ver con el problema que planteas, sino mas bien se relaciona con la capacidad de la pc en conectarse a la red

    valida que la pc con win server no esta bloqueada en el firewall o en algun router para resolver en ese puerto del smtp

    valida que la pc tiene conexion a internet

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 21 de noviembre de 2017 13:39

Todas las respuestas

  • Buenas,

    Por el error que te da, y que dices que falla en una edición Server de Windows (suyo firewall es más restrictivo por defecto), me atrevería a decir que esta bloqueando el puerto que usas en tu programa. 

    Añade una regla de salida en el firewall de windows para el puerto que usas, o deja pasar tu programa a través del firewall y vuelve a probar

    Nos comentas el resultado

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:

    martes, 21 de noviembre de 2017 8:29
  • hola

    el hecho que las maquinas sean de 32 o 64 bits no tiene nada que ver con el problema que planteas, sino mas bien se relaciona con la capacidad de la pc en conectarse a la red

    valida que la pc con win server no esta bloqueada en el firewall o en algun router para resolver en ese puerto del smtp

    valida que la pc tiene conexion a internet

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 21 de noviembre de 2017 13:39
  • Hola Jorge.

    Gracias por responder, te comento que el firewall de window server 2003 Standard Edition esta totalmente desbloqueado, también puse reglas para el puerto 25 y 26 e incluso a mi ejecutable, sin embargo el problema persiste y todo este tema de seguridades lo revisamos con el administrador de redes de mi trabajo.

    Por si las dudas hicimos las pruebas instalando mi aplicación en Windows Server 2008 R2 Enterprise y funciono perfectamente.

    La inquietud que me queda es sera algun componente que me falta instalar en Win Server 2003??.

    Gracias

    miércoles, 22 de noviembre de 2017 22:21
  • Gracias Leandro, te comento que con respecto a las seguridades lo revisamos con el adm, de redes, pero aun persiste el problema, pero instalamos en un win server 2008 y funciono muy bien.

    Lo unico que pensaria es que si me falta algun componente para funcione mi aplicacion?

    Saludos

    miércoles, 22 de noviembre de 2017 22:24
  • Vale,

    Por descartar del todo el tema del firewall, si lo deshabilitas (solo para probar), sigue dándote el mismo problema?

    Digo esto porque la arquitectura no tiene nada que ver, y si en un pc funciona, en el server también debería. De todos modos, veo que usas Gmail, hablo de memoria, pero creo que Gmail no va por el puerto 25 sino por el 485 (hablo de memoria y seguramente me equivoque)

    Espero tu respuesta

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:

    miércoles, 22 de noviembre de 2017 22:27
  • Hola Jorge, gracias por tu ayuda.

    Te comento que estoy usando un dominio corporativo donde tengo configurado el puerto 25 o puerto 26, he probado en mi ambiente de desarrollo funciona muy bien, pero aun me sale este problema en win server.

    Saludos.


    viernes, 24 de noviembre de 2017 20:06
  • Has probado a deshabilitar completamente el firewall para ver si así funciona? Existe la posibilidad de que haya un firewall de red por encima del servidor?

    Entiendo que tu entorno de desarrollo y el servidor están en la misma Red no?

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:

    viernes, 24 de noviembre de 2017 20:12
  • Hola. Te recomiendo te pongas en contacto con alguien de sistemas o los encargados de infraestructura. En ambientes de desarrollo se suele ser más permisivo con los developer pero ya en producción la cosa cambia. 

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    domingo, 26 de noviembre de 2017 14:59
    Moderador
  • Gracias Sergio.

    lunes, 27 de noviembre de 2017 16:51