c# - SmtpClient hangs with no exception thrown if wrong port was specified -
मैं मेजबान "smtp.gmail.com" के साथ पोर्ट 465 का उपयोग करते हुए अपने asp.Net C # आवेदन में ईमेल भेजने का प्रयास कर रहा था लेकिन पूरे आवेदन लटका हुआ है (लोड हो रहा है)। जब यह डीबगिंग है तो उसे SmtpClient.Send (msg) में फंस गया है।
निर्दिष्ट किए गए क्रेडेंशियल के बावजूद, यह पकड़ने के लिए कोई भी अपवाद नहीं या किसी भी टाइमआउट त्रुटियों को नहीं फेंकता है। मुझे पन्ने पर पहुंच हासिल करने के लिए पेज को बंद या रीफ्रेश करना होगा।
अगर मैं पोर्ट 587 को बदल देता हूं तो हर चीज ठीक काम करती है और SmtpClient.Send प्रतिक्रिया देता है और ईमेल भेजता है या एक उचित अपवाद देता है क्रेडेंशियल के आधार पर ऑपरेशन टाइमआउट या ईमेल भेजने में विफलता।
मैंने प्रदर्शन के लिए नीचे कोड को सरल बनाया है:
var smtp = new smtpClient {host = "smtp.gmail.com ", पोर्ट = 465, EnableSsl = true, टाइमआउट = 200, // या कोई भी मान यह समस्या को हल नहीं करता है DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, क्रेडेंशियल्स = नया नेटवर्क क्रेडेंशियल (" name@gmail.com "," पासवर्ड") }; Var msg = नया मेलमैसेज ("name@gmail.com", "name@gmail.com", "कोई भी विषय", "कोई भी शरीर"); smtp.Send (एमएसजी); // यहाँ अटक smtp.Dispose (); // msg पर कभी नहीं पहुंचा। हल (); मैंने SendAsync की कोशिश की और टाइमआउट अंतराल कम कर दिया लेकिन इस समस्या को हल नहीं किया। मुझे लगता है कि समस्या यह है कि smtp.gmail.com पहुंचा था लेकिन पोर्ट 465 के लिए ठीक से जवाब नहीं दिया और यही कारण है कि इस पद्धति को रोक दिया गया था।
मुझे इस तरह के व्यवहार से बचने की आवश्यकता है क्योंकि मेरा आवेदन गतिशील सेटिंग्स की अनुमति देता है Smtp सर्वर का विवरण और मैं नहीं चाहता कि पूरे आवेदन को गलत विवरणों के मामले में लटकाया जाए।
धन्यवाद,
यह मिला किसी भी व्यक्ति को यहां प्राप्त होने पर उत्तर दें
सॉकेट सॉकेट = नया सॉकेट (पता Family.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IAsyncResult परिणाम = socket.BeginConnect ("192.168.1.180", 25, रिक्त, शून्य); // दो दूसरी समयबाह्य बुल सफलता = परिणाम। एसिंकवेथहैंडल। वाइटऑन (2000, सत्य); अगर (! सफलता) {socket.Close (); नया ApplicationException फेंक ("सर्वर से कनेक्ट करने में असफल।"); }
Comments
Post a Comment