Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como enviar um email HTML do SQL Server (T-SQL)


O Database Mail do SQL Server tem um procedimento armazenado chamado sp_send_dbmail que você pode usar para enviar emails do SQL Server.

Por padrão, os e-mails são enviados como texto, mas você pode alterar isso facilmente, para que sejam enviados no formato HTML.

O @body_format argumento é o que você usa para mudar para o formato HTML.

Exemplo


Aqui está um exemplo de envio de um email HTML.
EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'DB Admin Profile',  
    @recipients = '[email protected]',  
    @body = 'Potential candidates for an <strong>Admin</strong> job, perhaps?',
    @body_format = 'HTML',
    @subject = 'As discussed';

A parte que vai @body_format = 'HTML' é o que envia o email em formato HTML.

Neste exemplo, apliquei uma quantidade trivial de HTML. Eu simplesmente coloquei a palavra Admin em <strong> Tag. Eu mantive o mais simples possível para que seja fácil de ler o exemplo.

Salve o HTML em uma variável


No exemplo anterior, apliquei o código HTML diretamente ao @body argumento. Isso não foi um grande problema, dada a falta de conteúdo do corpo. Mas é bom separar o código HTML do sp_send_dbmail procedimento.

Para fazer isso, podemos salvar o código HTML em uma variável e usar essa variável como valor para o @body argumento.

Assim:
DECLARE @body_content varchar(255);
SET @body_content = 'Potential candidates for an <strong>Admin</strong> job, perhaps?';

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'DB Admin Profile',  
    @recipients = '[email protected]',  
    @body = @body_content,
    @body_format = 'HTML',
    @subject = 'As discussed';

Para uma lista completa de elementos HTML, veja Tags HTML no Quackit.