Cita:
Iniciado por juanchiy2k
Hola estimados.
Quiero realizar un trigger para mandar un mail y que este se ejecute cuando en una tabla se modifique un determinado campo, y además cuando en otra tabla se inserte un nuevo registro.
Un saludo cordial.
Esto no es muy recomendado, considera los siguientes puntos:
1. Enviar un mail es un proceso lento, por lo que tenerlo dentro de un trigger afecta notablemente el rendimiento de la consulta que dispara el trigger.
2. El mail es una comunicación diferida, no de tiempo real, y por lo tanto, no es necesario que se ejecute inmediatamente después de la consulta que dispara el trigger.
3. El envío del mail puede fallar por diferentes motivos (red, servidor de correo, etc), y en estos casos, con un trigger no podrás hacer reintentos.
En general, esto se resuelve con una cola de mensajes, por ejemplo: que el trigger inserte un registro en una tabla Mail con los campos (From varchar, To varchar, Subject varchar, Body varchar, Enviado int, Reintentos int) y que una tarea programada en Windows o en SQL Server ejecute con una frecuencia dada un procedimiento que lea la tabla y envíe los correos.
Saludos