swithmail - ¿Cuál es la mejor manera de enviar grandes lotes de correos electrónicos en ASP.NET?
smtp command line (2)
Actualmente estoy revisando un lector de datos y llamando al método Send () de System.Net.Mail.SmtpClient. El problema con esto es que es lento. Cada correo electrónico tarda de 5 a 10 segundos en enviarse (es posible que esto sea solo un problema con mi host). Tuve que anular el valor predeterminado de executionTimeout en mi archivo web.config (por defecto es 90 segundos) como este:
<httpRuntime executionTimeout="3000" />
Una advertencia: estoy en un host compartido, así que no creo que sea posible enviarlo usando la opción PickupDirectoryFromIis (al menos, me dio errores cuando lo encendí).
Definitivamente generarlo en un proceso de trabajo en segundo plano para que salgan de forma asincrónica.
Por cierto, 5-10 segundos por correo electrónico me parece demasiado lento. En mi servidor solo toma fracciones de segundo por correo electrónico.
Puede enviar el correo asincrónico. De esta forma, el tiempo de espera no debería interrumpir su envío.
Este artículo debería ayudarlo a comenzar: Enviar correos electrónicos de forma asincrónica en C # .
Aquí hay otro enfoque: http://www.vikramlakhotia.com/Sending_Email_asynchronously_in_AspNet_20.aspx
Y, por supuesto, hay varios clientes comerciales disponibles, pero el único que he intentado y puedo recomendar es http://www.aspnetemail.com/