當資料庫郵件無法正常發送時,透過「發送測試電子郵件」功能可快速驗證設定檔連通性、SMTP 伺服器回應與郵件佇列狀態。本文詳細說明操作流程、權限需求與失敗時的診斷查詢。
mailitem_id,請記下此編號。SELECT * FROM msdb.dbo.sysmail_allitems
WHERE mailitem_id = <您的 mailitem_id>;
sent_status 欄位值:1=已發送、2=發送失敗、3=重試中。
SELECT * FROM msdb.dbo.sysmail_event_log
WHERE mailitem_id = <您的 mailitem_id>;
僅 sysadmin 固定伺服器角色成員可使用「發送測試電子郵件」對話框。非 sysadmin 使用者可改用 sp_send_dbmail 預存程序測試。
sysmail_mailitems 中 sent_status=3 且長時間未變更,可嘗試重啟 SQL Server Agent 或資料庫郵件外部程式。啟用資料庫郵件詳細記錄:在 SSMS「管理」→「資料庫郵件」右鍵「設定資料庫郵件」→「檢視記錄」→ 勾選「詳細記錄」,或查詢 msdb.dbo.sysmail_log 取得完整 SMTP 交互記錄。