ऐसा प्रतीत होता है कि .NET के SmtpClient होस्ट नामों में एक अतिरिक्त बिंदु के साथ ईमेल बना रहा है यदि बिंदु MIME एन्कोडेड लाइन की शुरुआत में दिखाई दे रहा था (उदाहरण के लिए test.com कभी-कभी परीक्षण के रूप में दिखाई देता है .. कॉम)। उदाहरण कोड:System.Net.Mail अवैध ईमेल और eml फ़ाइलों को बना रहा है? मेजबान नामों में अतिरिक्त बिंदुओं को सम्मिलित करना
एक्स प्रेषक:: [email protected]
एक्स रिसीवर: [email protected]
[TestMethod] public void TestEmailIssue() { var mail = new System.Net.Mail.MailMessage(); var smtpClient = new System.Net.Mail.SmtpClient(); mail.To.Add("[email protected]"); mail.Subject = "Test"; mail.From = new System.Net.Mail.MailAddress("[email protected]"); mail.Body = "Hello this is a short test of the issue:" +" <a href='https://test.com/'>https://test.com/</a>: "; smtpClient.PickupDirectoryLocation = "C:\\temp\\"; smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.SpecifiedPickupDirectory; smtpClient.Send(mail); }
यह है कि इस तरह दिखता है .eml फ़ाइल बनाता है
माइम-संस्करण: 1.0
करने के लिए: [email protected]
दिनांक: 6 जुला 2011 15:55:28 -0400
विषय: टेस्ट
सामग्री प्रकार: पाठ/सादे; चारसेट हमें-ascii =
सामग्री-स्थानांतरण-एन्कोडिंग: उद्धृत-मुद्रण योग्य
नमस्ते यह है समस्या के संक्षिप्त परीक्षण: https: // परीक्षण =
..com/'>https://test.com/: = 20
फ़ाइल भेजते समय, या Outlook (या किसी अन्य प्रोग्राम) में खोलते समय, डबल डॉट्स (यानी test..com) दिखाते हैं। ध्यान दें कि यदि मैं अतिरिक्त स्थान को हटाता हूं ("एक है" में), तो test.com सही ढंग से दिखाता है क्योंकि रेखा की शुरुआत में बिंदु अब प्रकट नहीं होता है।
यह वेबसाइट पते भेजने की कोशिश करते समय एक समस्या का कारण बनता है, और हमें यह कहते हुए ग्राहकों से कॉल मिलती है कि वे हमारे लिंक पर क्लिक नहीं कर सकते हैं।
क्या किसी और ने इसका अनुभव किया है? हम अपने स्वयं के एन्कोडिंग लिखने के अलावा इस मुद्दे को कैसे हल कर सकते हैं?
दिलचस्प खोज। – Jay
यही हमने सोचा था! दुर्भाग्य से यह ग्राहकों के एक बड़े समूह के लिए रोल-आउट करने से पहले सप्ताह तक नहीं आया, मुझे उम्मीद है कि एक आसान फिक्स है। –
कुछ भी नहीं जो मुझे हाथ से पता है। एक बदसूरत फिक्स + आउटपुट फ़ाइल को पार्स खोलने के लिए होगा, उन त्रुटियों को देखें और उन्हें ठीक करें। युक। – Jay