Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak wysłać wiadomość e-mail w formacie HTML z serwera SQL (T-SQL)

Poczta bazy danych SQL Server ma procedurę składowaną o nazwie sp_send_dbmail którego możesz używać do wysyłania wiadomości e-mail z serwera SQL.

Domyślnie e-maile są wysyłane jako tekst, ale możesz to łatwo zmienić, aby były wysyłane w formacie HTML.

@body_format argument jest tym, czego używasz do przełączenia na format HTML.

Przykład

Oto przykład wysyłania wiadomości e-mail w formacie 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';

Część, która idzie @body_format = 'HTML' to jest to, co wysyła wiadomość e-mail w formacie HTML.

W tym przykładzie zastosowałem banalną ilość kodu HTML. Po prostu załączam słowo Admin w <strong> Tagi. Uczyniłem to tak prostym, jak to tylko możliwe, aby łatwo było przeczytać przykład.

Zapisz kod HTML w zmiennej

W poprzednim przykładzie zastosowałem kod HTML bezpośrednio do @body argument. Nie stanowiło to większego problemu, biorąc pod uwagę niewielką zawartość ciała. Ale fajnie jest oddzielić kod HTML od sp_send_dbmail procedura.

Aby to zrobić, możemy zapisać kod HTML w zmiennej, a następnie użyć tej zmiennej jako wartości dla @body argument.

Tak:

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';

Aby uzyskać pełną listę elementów HTML, zobacz Tagi HTML na Quackit.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Podziel słowa z wielką literą w sql

  2. Jak zwrócić tylko Date z typu danych DateTime serwera SQL?

  3. Utwórz zadanie agenta serwera SQL za pomocą programu SSMS

  4. Równoległe przywracanie kopii zapasowej serwera SQL Server -2

  5. Czy mogę połączyć się z SQL Server za pomocą uwierzytelniania Windows z aplikacji internetowej Java EE?