¿Necesita hacer esta carga a través de la aplicación ASP? De lo contrario, cualquier tipo de lenguaje de secuencias de comandos con el que se sienta más cómodo y pueda hacerlo con el menor tiempo de codificación es la mejor herramienta para el trabajo. Si necesita que los usuarios puedan cargar en la aplicación ASP clásica y tener un proceso confiable para insertar los registros válidos en la base de datos y rechazar los no válidos, sus opciones cambian.
¿Necesita proporcionar retroalimentación a los usuarios? ¿Como decirles exactamente qué filas no eran válidas?
Si ese segundo escenario es lo que está tratando, haría que la aplicación ASP simplemente almacene el archivo y tenga otro proceso, un servicio .net, una tarea programada o algo así, haga la importación e informe sobre su progreso en un texto archivo que la aplicación asp puede verificar. Eso lo lleva de nuevo a hacerlo en cualquier lenguaje de secuencias de comandos con el que se sienta cómodo, y no tiene que lidiar con el tiempo de espera de la solicitud http.
Si busca en Google "correo electrónico válido de expresiones regulares", puede encontrar una variedad de expresiones regulares para identificar direcciones de correo electrónico no válidas.