Estoy haciendo un trigger para que me envíe un email cuando se inserte un registro en una tabla. Adjunto código:
Código:
El problema es que el email me llega vació, como si la variable s_mailmess no contuviera nada.ALTER TRIGGER [dbo].[CONTACTOEMAIL] ON [dbo].[contacto] FOR INSERT AS -- Comprobar sí se tiene que enviar el mail. If EXISTS (SELECT * FROM Inserted) begin -- Obtener datos del tícket declare @i_tck int declare @nombre nvarchar(128) declare @empresa nvarchar(128) declare @email nvarchar(128) declare @s_mailmess nvarchar(768) declare @comentarios nvarchar(300) declare @p_gestion nvarchar(40) declare @p_trazabilidad nvarchar(40) SELECT @nombre = I.NOMBRE FROM INSERTED I SELECT @empresa = I.EMPRESA FROM INSERTED I SELECT @email = I.email FROM INSERTED I SELECT @p_gestion = I.p_gestion FROM INSERTED I SELECT @p_trazabilidad = I.p_trazabilidad FROM INSERTED I SELECT @comentarios = I.comentarios FROM INSERTED I SELECT @s_mailmess = @s_mailmess + ' FECHA: ' + CONVERT(nvarchar(32), GETDATE(), 113) + '<br>' SELECT @s_mailmess = @s_mailmess + ' NOMBRE: ' + @nombre + '<br>' SELECT @s_mailmess = @s_mailmess + ' EMPRESA: ' + @empresa + '<br>' SELECT @s_mailmess = @s_mailmess + ' EMAIL: ' + @email + '<br>' SELECT @s_mailmess = @s_mailmess + ' SOFTWARE TRAZABILIDAD: ' + @p_trazabilidad + '<br>' SELECT @s_mailmess = @s_mailmess + ' SOFTWARE GESTIÓN: ' + @p_gestion + '<br>' SELECT @s_mailmess = @s_mailmess + ' COMENTARIOS:: ' + @comentarios + '<br>' -- Enviar por correo. EXEC msdb.dbo.sp_send_dbmail @profile_name='Sistemas', @recipients= '[email protected]', @subject= '[CONTACTO WEB]', @body= @s_mailmess; end
En cambio, si en el body envío la variable @nombre, recibo el mail con el contenido del campo nombre
¿A qué puede deberse?
Saludos.