मैं एक ऐसे प्रोजेक्ट पर काम कर रहा हूं जहां एक एएसपी.NET एप्लिकेशन को फिर से लिखना है। पुराना एएसपी.नेट एप्लीकेशन .NET Framework 1.1 पर आधारित था। नया एएसपी.नेट आवेदन .NET Framework 3.5 पर आधारित है।एएसपी.नेट - SmtpClient - रिमोट सर्वर से कनेक्ट करने में असमर्थ
पुराने वेब एप्लिकेशन में से एक कार्य ईमेल भेजने की क्षमता थी। पुराने कोड ने System.Web.Mail.SmtpMail
वर्ग का उपयोग किया, जबकि नया वेब एप्लिकेशन System.Net.Mail.SmtpClient
वर्ग का उपयोग करता है।
हमारे विकास सर्वर पर इसका परीक्षण करने में, सबकुछ ठीक काम करता था। हालांकि, हमारे पास दो बीटा क्लाइंट हमारे सॉफ़्टवेयर का परीक्षण कर रहे हैं, और वे दोनों नए वेब एप्लिकेशन में ईमेल भेजने में समस्याएं चलाते हैं। इस प्रकार
विशिष्ट अपवाद है:
दूरस्थ सर्वर से कनेक्ट करने में असमर्थ ---> System.Net.Sockets.SocketException: क्योंकि लक्ष्य मशीन सक्रिय रूप से इसे मना कर दिया
कोई कनेक्शन नहीं बनाया जा सकता है
पुराने और नए एएसपी.NET दोनों एप्लिकेशन एक ही सर्वर (विंडोज सर्वर 2003) पर हैं। वे दोनों एक ही एक्सचेंज मेल सर्वर का उपयोग कर रहे हैं। ऐसा क्यों है कि पुराने एएसपी.NET एप्लिकेशन सफलतापूर्वक ईमेल भेज सकता है, लेकिन नया कोई नहीं कर सकता है?
मैंने पुराने कोड को देखा, और यह प्रमाणीकरण के किसी भी रूप का उपयोग नहीं किया, यह सिर्फ प्रेषक का ईमेल पता, प्राप्तकर्ता का ईमेल पता, विषय, शरीर और सर्वर निर्दिष्ट करता है, और संदेश भेजता है। मैंने नए कोड में एक ही काम किया, केवल अंतर यह है कि मैंने SmtpClient क्लास का उपयोग किया।
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
mail.To.Add(messageTo);
mail.From = new MailAddress(messageFrom);
mail.Subject = messageSubject;
mail.Body = messageBody;
SmtpClient client = new SmtpClient();
client.Host = smtpServer;
client.Send(mail);
क्या एक्सचेंज लॉग में कुछ भी है जो इसे कनेक्शन से इंकार कर देता है? – David
मुझे उनके पास पहुंच नहीं है और मुझे नहीं लगता कि बीटा क्लाइंट भी उन तक पहुंच प्राप्त कर सकता है। फिर, यह हमारे अंत में ठीक काम किया। यह बहुत बुनियादी कार्यक्षमता है। – Chris
आप सर्वर को कैसे निर्दिष्ट करते हैं? SmptClient के निर्माता, या web.config में? क्या आप कुछ कोड पोस्ट कर सकते हैं? – onof