Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách gửi một email HTML từ SQL Server (T-SQL)

Thư cơ sở dữ liệu của SQL Server có một thủ tục được lưu trữ được gọi là sp_send_dbmail mà bạn có thể sử dụng để gửi email từ SQL Server.

Theo mặc định, email được gửi dưới dạng văn bản, nhưng bạn có thể dễ dàng thay đổi điều này để chúng được gửi ở định dạng HTML.

@body_format là những gì bạn sử dụng để chuyển sang định dạng HTML.

Ví dụ

Dưới đây là một ví dụ về cách gửi 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';

Phần chuyển sang @body_format = 'HTML' là những gì gửi email ở định dạng HTML.

Trong ví dụ này, tôi đã áp dụng một lượng HTML nhỏ. Tôi chỉ đơn giản đính kèm từ Admin trong <strong> các thẻ. Tôi đã giữ nó càng đơn giản càng tốt để có thể dễ dàng đọc ví dụ.

Lưu HTML vào một biến

Trong ví dụ trước, tôi đã áp dụng mã HTML trực tiếp cho @body lý lẽ. Đây không phải là vấn đề lớn, do nội dung cơ thể ngắn. Nhưng thật tuyệt khi tách mã HTML khỏi sp_send_dbmail thủ tục.

Để thực hiện việc này, chúng ta có thể lưu mã HTML vào một biến, sau đó sử dụng biến đó làm giá trị cho @body đối số.

Như thế này:

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

Để có danh sách đầy đủ các phần tử HTML, hãy xem Thẻ HTML tại 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. Cách lấy tất cả các Bảng có hoặc không có Ràng buộc khóa chính trong Cơ sở dữ liệu máy chủ Sql - Hướng dẫn sử dụng SQL Server / TSQL 59

  2. Các tính năng bảo mật trong SQL Server 2017

  3. ListAGG trong SQLSERVER

  4. Truy vấn liệt kê số lượng bản ghi trong mỗi bảng trong cơ sở dữ liệu

  5. Làm cách nào để sao chép cơ sở dữ liệu SQL Azure vào máy chủ phát triển cục bộ của tôi?