Nếu bạn sử dụng Thư cơ sở dữ liệu trong SQL Server, bạn có thể sử dụng sysmail_sentitems
xem để trả về danh sách tất cả các email mà Thư Cơ sở dữ liệu đã gửi.
Ví dụ
Dưới đây là một ví dụ về việc trả lại tất cả các email đã gửi. Lưu ý rằng điều này cần được thực hiện trên msdb
cơ sở dữ liệu.
SELECT * FROM msdb.dbo.sysmail_sentitems;
Kết quả (sử dụng đầu ra dọc):
mailitem_id | 3 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 03:58:57.887 send_request_user | sa sent_account_id | 1 sent_status | sent sent_date | 2020-08-24 03:59:01.000 last_mod_date | 2020-08-24 03:59:01.543 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.
Tôi cũng chỉ hiển thị hàng đầu tiên (mặc dù hai hàng đã được trả về), để giữ mọi thứ ngắn gọn.
Đây là một lần nữa, ngoại trừ lần này, tôi sẽ chuyển sang đầu ra theo chiều ngang và hiển thị cả hai hàng. Ngoài ra, tôi sẽ chỉ xác định một vài cột.
SELECT
mailitem_id,
sent_status,
send_request_date
FROM msdb.dbo.sysmail_allitems;
Kết quả (sử dụng đầu ra dọc):
+---------------+---------------+-------------------------+-------------------------+ | mailitem_id | sent_status | send_request_date | sent_date | |---------------+---------------+-------------------------+-------------------------| | 3 | sent | 2020-08-24 03:58:57.887 | 2020-08-24 03:59:01.000 | | 4 | sent | 2020-08-24 04:11:19.300 | 2020-08-24 04:11:22.000 | +---------------+---------------+-------------------------+-------------------------+
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_faileditems
để nhận tất cả các email không thành công.
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).