Buenas,
Estoy haciendo un trigger para que me envíe un email cuando se inserte un registro en una tabla. Adjunto código:
Código:
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
El problema es que el email me llega vació, como si la variable s_mailmess no contuviera nada.
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.