Aplicación que envía Correo

31/10/2008 - 21:05 por Centurion | Informe spam
Estoy haciendo una aplicación que envía correos mediante la clase SmtpClient
a todos los clientes de la empresa cuando hay ofertas, cumpleaños, etc. e
inicialmente lo hace de forma Sincrona mediante SmtpClient.Send pero esto
enlentece mucho la aplicación y no nos permite conocer si le llegó o no al
Cliente, por lo que estoy probando a enviarlo de forma asíncrona mediante
SmtpClient.SendAsync que si recoge el dato del envío además de no quedarse
esperando a la respuesta del Servidor, y va bien para el primer correo,
pero al enviar el segundo me dice que ya hay uno en curso y que no puede
enviar otro.

Yo creo que la respuesta del primero debe habilitar algo y permitir que se
envíe el segundo, pero sabeis que ?

un saludo

Preguntas similare

Leer las respuestas

#1 Carmelo J. Morales Muñoz
04/11/2008 - 13:56 | Informe spam
¡hola!

yo recuerdo haber usado igual que tu, creo que hay un evento que se lanza
cuando el proceso asíncrono en segundo plano finaliza, entonces es cuando
realizaba el envio nuevamente, no estoy muy seguro pero creo que es como
lanzar un segundo hilo...algo así,

"Centurion" escribió en el mensaje de
noticias:
Estoy haciendo una aplicación que envía correos mediante la clase
SmtpClient a todos los clientes de la empresa cuando hay ofertas,
cumpleaños, etc. e inicialmente lo hace de forma Sincrona mediante
SmtpClient.Send pero esto enlentece mucho la aplicación y no nos permite
conocer si le llegó o no al Cliente, por lo que estoy probando a enviarlo
de forma asíncrona mediante SmtpClient.SendAsync que si recoge el dato del
envío además de no quedarse esperando a la respuesta del Servidor, y va
bien para el primer correo, pero al enviar el segundo me dice que ya hay
uno en curso y que no puede enviar otro.

Yo creo que la respuesta del primero debe habilitar algo y permitir que se
envíe el segundo, pero sabeis que ?

un saludo

Respuesta Responder a este mensaje
#2 Alberto
09/11/2008 - 12:15 | Informe spam
Perdona que aproveche el hilo para hacerte una pregunta. Es que estoy
intentando enviar un correo desde c# y no lo consigo.

El código que utilizo es el siguiente pero me da siempre un error. El
mensaje de error tampoco me da ninguna pista ya que
dice simplemente "Error al enviar el mensaje". Mi correo no es de gmail
(creo que son un poco especiales...van por un puerto distinto al 25 y
necesitan un certificado ssl).

Os agradezco que me digais qué está mal.

System.Net.Mail.MailMessage msg = new
System.Net.Mail.MailMessage();
msg.To.Add("");
msg.From = new MailAddress("", "Tu Nombre",
System.Text.Encoding.UTF8);
msg.Subject = "Prueba de correo";
msg.SubjectEncoding = System.Text.Encoding.UTF8;
msg.Body = "Cuerpo del mensaje";
msg.BodyEncoding = System.Text.Encoding.UTF8;
msg.IsBodyHtml = false;

SmtpClient client = new SmtpClient();
client.Credentials = new
System.Net.NetworkCredential("", "contraseña");

client.Host = "smtp.loquesea.es";
try
{
client.Send(msg);
}
catch (System.Net.Mail.SmtpException ex)
{
MessageBox.Show(ex.Message);
}


"Centurion" escribió en el mensaje de noticias
news:
Estoy haciendo una aplicación que envía correos mediante la clase
SmtpClient a todos los clientes de la empresa cuando hay ofertas,
cumpleaños, etc. e inicialmente lo hace de forma Sincrona mediante
SmtpClient.Send pero esto enlentece mucho la aplicación y no nos permite
conocer si le llegó o no al Cliente, por lo que estoy probando a enviarlo
de forma asíncrona mediante SmtpClient.SendAsync que si recoge el dato del
envío además de no quedarse esperando a la respuesta del Servidor, y va
bien para el primer correo, pero al enviar el segundo me dice que ya hay
uno en curso y que no puede enviar otro.

Yo creo que la respuesta del primero debe habilitar algo y permitir que se
envíe el segundo, pero sabeis que ?

un saludo

Respuesta Responder a este mensaje
#3 Alberto
09/11/2008 - 12:18 | Informe spam
Perdona que aproveche el hilo para hacerte una pregunta. Es que estoy
intentando enviar un correo desde c# y no lo consigo.

El código que utilizo es el siguiente pero me da siempre un error. El
mensaje de error tampoco me da ninguna pista ya que
dice simplemente "Error al enviar el mensaje". Mi correo no es de gmail
(creo que son un poco especiales...van por un puerto distinto al 25 y
necesitan un certificado ssl).

Os agradezco que me digais qué está mal.

System.Net.Mail.MailMessage msg = new
System.Net.Mail.MailMessage();
msg.To.Add("");
msg.From = new MailAddress("", "Tu Nombre",
System.Text.Encoding.UTF8);
msg.Subject = "Prueba de correo";
msg.SubjectEncoding = System.Text.Encoding.UTF8;
msg.Body = "Cuerpo del mensaje";
msg.BodyEncoding = System.Text.Encoding.UTF8;
msg.IsBodyHtml = false;

SmtpClient client = new SmtpClient();
client.Credentials = new
System.Net.NetworkCredential("", "contraseña");

client.Host = "smtp.loquesea.es";
try
{
client.Send(msg);
}
catch (System.Net.Mail.SmtpException ex)
{
MessageBox.Show(ex.Message);
}

"Centurion" escribió en el mensaje de noticias
news:
Estoy haciendo una aplicación que envía correos mediante la clase
SmtpClient a todos los clientes de la empresa cuando hay ofertas,
cumpleaños, etc. e inicialmente lo hace de forma Sincrona mediante
SmtpClient.Send pero esto enlentece mucho la aplicación y no nos permite
conocer si le llegó o no al Cliente, por lo que estoy probando a enviarlo
de forma asíncrona mediante SmtpClient.SendAsync que si recoge el dato del
envío además de no quedarse esperando a la respuesta del Servidor, y va
bien para el primer correo, pero al enviar el segundo me dice que ya hay
uno en curso y que no puede enviar otro.

Yo creo que la respuesta del primero debe habilitar algo y permitir que se
envíe el segundo, pero sabeis que ?

un saludo

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