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

Kiểm tra email không thành công trong SQL Server (T-SQL)

Nếu bạn đang cố gắng gửi thư bằng SQL Server nhưng không gửi được thư, hãy thử kiểm tra sysmail_faileditems xem.

Ví dụ

Đây là một ví dụ về kiểm tra thư không thành công. Lưu ý rằng nó cần được chạy trên msdb cơ sở dữ liệu.

SELECT * FROM msdb.dbo.sysmail_faileditems;

Kết quả (sử dụng đầu ra dọc):

mailitem_id                 | 1
profile_id                  | 1
recipients                  | [email protected]
copy_recipients             | NULL
blind_copy_recipients       | NULL
subject                     | SQL Server Agent Job: FAILED
body                        | Your favorite SQL Server Agent job just failed
body_format                 | TEXT
importance                  | NORMAL
sensitivity                 | NORMAL
file_attachments            | NULL
attachment_encoding         | MIME
query                       | NULL
execute_query_database      | NULL
attach_query_result_as_file | 0
query_result_header         | 1
query_result_width          | 256
query_result_separator      |  
exclude_query_output        | 0
append_query_error          | 0
send_request_date           | 2020-08-24 02:40:48.093
send_request_user           | sa
sent_account_id             | NULL
sent_status                 | failed
sent_date                   | 2020-08-24 02:41:53.000
last_mod_date               | 2020-08-24 02:41:53.290
last_mod_user               | sa

Tôi đã sử dụng đầu ra dọc ở đây để bạn không cần phải cuộn sang ngang để xem tất cả các cột.

Trong trường hợp này, tôi đang hiển thị một email không thành công. Tôi thực sự có hai email không thành công nhưng tôi quyết định rằng sẽ ngắn gọn hơn khi chỉ hiển thị một kết quả.

Trong trường hợp của tôi, tôi đã sử dụng sai máy chủ thư trong mã gửi email và các email không thành công. Ngay sau khi tôi cập nhật mã để sử dụng đúng máy chủ thư, tất cả các email tiếp theo đã được gửi thành công. Tuy nhiên, điều này không thay đổi những cái đã bị lỗi và do đó, chúng vẫn nằm trong sysmail_faileditems xem.

Bạn có thể truy vấn sysmail_unsentitems để trả về danh sách các email chưa gửi (những email chưa được gửi, không nhất thiết là không gửi được).

Bạn cũng có thể truy vấn sysmail_sentitems để nhận tất cả các email đã gửi.

Bạn cũng có thể truy vấn sysmail_allitems để nhận tất cả các email (đã gửi, chưa gửi, không thành công và đang thử lại).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. IDENTITY () so với IDENTITY () trong SQL Server:Sự khác biệt là gì?

  2. Triển khai chức năng phân trang (bỏ qua / lấy) với truy vấn này

  3. Xác định các bước cho con trỏ máy chủ SQL - Hướng dẫn sử dụng SQL Server / TSQL

  4. 3 cách để trích xuất năm từ một ngày trong SQL Server (T-SQL)

  5. Tiện ích thay đổi mật khẩu SQL khéo léo để đặt lại mật khẩu SQL