यदि आप SQL सर्वर के साथ मेल भेजने का प्रयास कर रहे हैं, लेकिन यह डिलीवर नहीं हो रहा है, तो sysmail_faileditems
की जाँच करने का प्रयास करें। देखें।
उदाहरण
यहाँ विफल मेल की जाँच का एक उदाहरण दिया गया है। ध्यान दें कि इसे msdb
. पर चलाने की आवश्यकता है डेटाबेस।
SELECT * FROM msdb.dbo.sysmail_faileditems;
परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):
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
मैंने यहां वर्टिकल आउटपुट का उपयोग किया है ताकि आपको सभी कॉलम देखने के लिए साइड में स्क्रॉल करने की आवश्यकता न पड़े।
इस मामले में, मैं एक विफल ईमेल दिखा रहा हूं। मेरे पास वास्तव में दो विफल ईमेल थे लेकिन मैंने फैसला किया कि केवल एक परिणाम दिखाने के लिए यह अधिक संक्षिप्त था।
मेरे मामले में, मैंने ईमेल भेजने वाले कोड में गलत मेल सर्वर का उपयोग किया था, और ईमेल विफल हो गए। जैसे ही मैंने सही मेल सर्वर का उपयोग करने के लिए कोड अपडेट किया, बाद के सभी ईमेल सफलतापूर्वक भेज दिए गए। हालांकि, यह उन लोगों को नहीं बदलता है जो पहले ही विफल हो चुके थे, और इसलिए, वे sysmail_faileditems
में बने रहते हैं देखें।
आप sysmail_unsentitems
query को क्वेरी कर सकते हैं भेजे गए ईमेल की सूची वापस करने के लिए (जिन्हें भेजा जाना बाकी है, जरूरी नहीं कि विफल)।
आप sysmail_sentitems
. को भी क्वेरी कर सकते हैं सभी भेजे गए ईमेल प्राप्त करने के लिए।
आप sysmail_allitems
. को भी क्वेरी कर सकते हैं सभी ईमेल प्राप्त करने के लिए (भेजे गए, भेजे नहीं गए, विफल हुए, और पुनः प्रयास कर रहे हैं)।