Si lo miras desde una perspectiva de capa, el envío de correos electrónicos encajaría mejor en la capa de presentación en lugar de la lógica de negocios o la capa de datos.
Sin embargo, el desencadenamiento del envío de un correo electrónico puede provenir de la capa de negocio, y la capa empresarial no debe llamar a la capa de presentación.
En tal caso, una posible solución sería que la capa empresarial administrara una cola de correo electrónico y que la capa de presentación maneje recoger los correos electrónicos y enviarlos.
A veces, ajustarse rígidamente a un patrón puede causar más problemas de los que está tratando de resolver. Si encuentra que una implementación específica le funciona ahora y no le causará ningún problema a corto o mediano plazo, y el costo de investigar e implementar la solución "perfecta" es demasiado grande, entonces vaya con lo que tiene.
A menos que su empresa esté enviando correos electrónicos. – cgp
@alt: incluso si su empresa desea enviar un correo electrónico, la definición de cómo enviar un correo electrónico no se debe definir dentro de un BLL. Debe separarse en una clase de utilidad. – JonH