¿Cómo se envían correos electrónicos masivos desde ASP.NET

He creado un sitio web para un cliente y les gustaría una herramienta de boletín personalizado. Construir la herramienta fue fácil, pero no estoy seguro de cómo enviar el correo electrónico.

Configuré una página de prueba y logré enviarme un correo electrónico de prueba usando el espacio de nombres System.Net.Mail. Intenté aplicar este código a un bucle en la página del boletín, pero está resultando ser una tarea bastante difícil. El bucle de envío de correo electrónico bloquea todo el sitio durante aproximadamente una hora mientras envía sus correos electrónicos. A veces abortará el bucle a mitad de camino y algunos de los correos electrónicos no se enviarán.

Intenté iniciar el bucle en otro hilo.

protected void btnSendNewsletter_Click(object sender, EventArgs e)
{
    Thread t = new System.Threading.Thread(new ThreadStart(SendEmails));
    t.Start();
}

pero esto todavía hace que el sitio vaya lento y también tiene la costumbre de abortar a mitad de camino. ¿Cuál es el método común para enviar correos electrónicos masivos? Estoy seguro de que no lo estoy haciendo bien.

Soy muy nuevo en el campo del correo electrónico en .NET, por lo que cualquier ayuda es muy apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta