¿Cuál es la mejor manera de enviar grandes cantidades de correos electrónicos en ASP.NET?

StackOverflow https://stackoverflow.com/questions/56975

  •  09-06-2019
  •  | 
  •  

Pregunta

Actualmente estoy en un bucle de datareader y la llamada al Sistema.Net.Correo.SmtpClient del método Send ().El problema con esto es que es lento.Cada correo electrónico que toma alrededor de 5 a 10 segundos para enviar (es posible que esto es sólo un problema con mi host).Tuve que reemplazar el executionTimeout defecto en mi web.archivo de configuración (el valor predeterminado es de 90 segundos) como este:

 <httpRuntime executionTimeout="3000" />

Una advertencia:Estoy en un host compartido, así que no creo que me es posible enviar utilizando el PickupDirectoryFromIis opción (al menos, me dio errores cuando la prendí).

¿Fue útil?

Solución

No se pudo enviar el correo asincrónica.De esa manera el tiempo de espera no debe interrumpir su envío.

En este artículo deben ayudarle a empezar con esto: El envío de Correos electrónicos de forma Asincrónica en C#.

Existe otro enfoque aquí: http://www.vikramlakhotia.com/Sending_Email_asynchronously_in_AspNet_20.aspx

Y supuesto que hay varios clientes comerciales disponibles, pero el único que he probado y puedo recomendar es http://www.aspnetemail.com/

Otros consejos

Definitivamente desovar en un segundo plano el proceso de trabajo de lo que salga de forma asincrónica.

Por CIERTO, de 5 a 10 segundos por e-mail parece lento para mí.En mi servidor tarda sólo fracciones de segundo por e-mail.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top