Error:External component has thrown an exception.

12/05/2004 - 17:12 por Tito | Informe spam
Muy buenas

Tengo una aplicación web que en local me funciona
perfectamente el envío de correos, pero cuando la subo a
producción se produce el siguiente error:

Error:External component has thrown an exception.

He probado a realizar una pequeñita aplicación de consola
que envía un correo y he dejado el ejecutable en
producción y también me sale el mismo error.

¿Alguien me puede decir si para utilizar el namespace
System.Web.Mail en un servidor con W2000 Advanced Server
hay que hacer algo en el servidor para que funcione?

Preguntas similare

Leer las respuestas

#6 Octavio Hernandez
13/05/2004 - 17:36 | Informe spam
Tito,

a) Yo lo que te decía era que en el catch mostraras también la excepción
interna, por ver si eso dice algo más con realción al error:
catch (Exception e)

{

Console.WriteLine("Error:{0}" + e.Message);

Exception e2 = e.InnerException;

if (e2 != null)

Console.WriteLine("Excepción interna:" + e2.GetType().FullName +
e2.Message);

}

b) Por lo que decías antes, sí podría ser que el servidor tuviera cerrado el
puerto 25 (SMTP), tuviera algún componente no instalado o desactivado, etc.
Tendrías que preguntarle a alguien de sistemas :-)

c) Creo que me confundes con mi compañero Jorge Bustos, que fue el que hizo
lo de seguridad. Yo aquella vez hice el de Visual Studio Tools for Office
(el día anterior).

Slds - Octavio

"Tito" escribió en el mensaje
news:c67101c438b9$8ccae970$
El código que he puesto en la aplicación de consola para
realizar las pruebas es el siguiente:

using System;
using System.Web.Mail;
namespace Correo
{
class EnvioCorreo
{
static void Main(string[] args)
{
try
{
Console.WriteLine("Enviando correo");
MailMessage mailObj=new MailMessage();
mailObj.From="";
mailObj.To="";
mailObj.Subject="Correo de prueba";
mailObj.Body="Prueba";
mailObj.BodyFormat=MailFormat.Text;
SmtpMail.SmtpServer="servidor";
SmtpMail.Send(mailObj);
Console.WriteLine("Envío OK");
}
catch (Exception e)
{
Console.WriteLine("Error:{0}",e.Message);
}
finally
{
Console.ReadLine();
}
}
}
}

Como veis no hay nada extraño en el correo y el mensaje de
error que me da, es el que he puesto no pone nada mas, es
algo extraño. ¿Podría ser que tengan cerrado el puerto por
el que salen los correos? no tengo mucha idea de temas de
seguridad

P.D.- Octavio, en la charla de seguridad que diste en
Microsoft el mes pasado se te olvidó contarlo jejeje
(estuve en las de ADO.NET y en las de seguridad que por
cierto, el que dio el curso de ADO.net y el que dio la
charla después de ti no eran de danysoft , eran de Ability
Win que lo se yo ;) )
Respuesta Responder a este mensaje
#7 Tito
14/05/2004 - 08:32 | Informe spam
Nada Octavio, que no me saca nada la excepción interna.
Con respecto al tema de los puertos, he estado hablando
con la gente de sistemas y por lo visto tienen los puertos
abiertos.

Lo único que se me ocurre es que el servidor tiene
instalado el Internet Explorer 5.5 e igual por eso no
funciona el envío, ya que he probado la aplicación de
consola en otro servidor que tenemos y ha funcionado
perfectamente, claro, que este último tiene el Internet
Explorer 6.0

P.D.- Con respecto a lo que comentas de Jorge lo conozco
perfectamente, ya que fue él quien nos dio un curso en mi
empresa, su risa es inconfundible ;). Si no me equivoco tu
habías estado dando el día anterior el de ASP.NET y el de
seguridad lo diste una hora o dos (no recuerdo)y a
continuación se puso Jorge.

Gracias por aportarme soluciones

Tito,

a) Yo lo que te decía era que en el catch mostraras


también la excepción
interna, por ver si eso dice algo más con realción al


error:
catch (Exception e)

{

Console.WriteLine("Error:{0}" + e.Message);

Exception e2 = e.InnerException;

if (e2 != null)

Console.WriteLine("Excepción interna:" + e2.GetType


().FullName +
e2.Message);

}

b) Por lo que decías antes, sí podría ser que el servidor


tuviera cerrado el
puerto 25 (SMTP), tuviera algún componente no instalado o


desactivado, etc.
Tendrías que preguntarle a alguien de sistemas :-)

c) Creo que me confundes con mi compañero Jorge Bustos,


que fue el que hizo
lo de seguridad. Yo aquella vez hice el de Visual Studio


Tools for Office
(el día anterior).

Slds - Octavio

"Tito" escribió en


el mensaje
news:c67101c438b9$8ccae970$
El código que he puesto en la aplicación de consola para
realizar las pruebas es el siguiente:

using System;
using System.Web.Mail;
namespace Correo
{
class EnvioCorreo
{
static void Main(string[] args)
{
try
{
Console.WriteLine("Enviando correo");
MailMessage mailObj=new MailMessage();
mailObj.From="";
mailObj.To="";
mailObj.Subject="Correo de prueba";
mailObj.Body="Prueba";
mailObj.BodyFormat=MailFormat.Text;
SmtpMail.SmtpServer="servidor";
SmtpMail.Send(mailObj);
Console.WriteLine("Envío OK");
}
catch (Exception e)
{
Console.WriteLine("Error:{0}",e.Message);
}
finally
{
Console.ReadLine();
}
}
}
}

Como veis no hay nada extraño en el correo y el mensaje de
error que me da, es el que he puesto no pone nada mas, es
algo extraño. ¿Podría ser que tengan cerrado el puerto por
el que salen los correos? no tengo mucha idea de temas de
seguridad

P.D.- Octavio, en la charla de seguridad que diste en
Microsoft el mes pasado se te olvidó contarlo jejeje
(estuve en las de ADO.NET y en las de seguridad que por
cierto, el que dio el curso de ADO.net y el que dio la
charla después de ti no eran de danysoft , eran de Ability
Win que lo se yo ;) )


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida