Tengo un par de aplicaciones web que utilizan todos los correos electrónicos que envían ya sea por el formulario de contacto, o algún tipo de notificación de cambios etc.La construcción de un servicio de correo electrónico del remitente
El problema que he encontrado es que no hay en realidad cualquier forma de rastrear los mensajes de correo electrónico que se envía desde las aplicaciones web, por lo que he llegado con una posible solución:
es bastante simple en realidad - en lugar de tener cada aplicación web enviar el correos electrónicos me gustaría unificar el proceso mediante la creación de un servidor central de envío de correo electrónico hielo.
En términos básicos, cada aplicación simplemente crearía una fila en una tabla de 'Correos electrónicos salientes' en la base de datos con A, De, Asunto, datos de contenido.
El Servicio de remitente de correo electrónico (Servicio de Win) seleccionaría los correos electrónicos de la bandeja de salida, los enviará y luego marcará como se envió.
A pesar de que me gustaría almacenar información 'de correo electrónico básico' (a, desde, tema, contenido) en la base de datos, lo que realmente me gusta hacer es también almacenar el objeto 'MailMessage' misma manera que el correo electrónico El servicio del remitente podría deserializar el mensaje de correo original, ya que esto permitiría que cualquier aplicación personalice completamente el correo electrónico.
¿Hay algún problema con el uso del objeto MailMessage de esta manera?
Actualización: Otro objetivo, es almacenar un registro de los correos electrónicos que se han enviado, de ahí el motivo para usar una base de datos.
¡Me gusta esta idea en realidad! Podría tener un servicio WCF alojado para el remitente de correo electrónico, y las aplicaciones web podrían señalarlo y la WCF puede encargarse de poner el correo electrónico en la base de datos (para el registro) y de enviar el correo electrónico de inmediato. – Dal