हम O365 में जाने के बारे में सोच रहे हैं; हालाँकि, हमने सॉफ़्टवेयर विकसित किया है जो बाहरी उपयोगकर्ताओं और साथ ही त्रुटियों के होने पर दोनों को ईमेल भेजने के लिए हमारे वर्तमान एक्सचेंज सर्वर का उपयोग करता है।
मैं यह सुनिश्चित करने के लिए यह परीक्षण कर रहा हूं कि हमारे पास मौजूद कोड O365 के साथ काम करना जारी रखेगा लेकिन अभी तक, मैं बहुत सफल नहीं रहा हूं।
मैंने .net के SmtpClient के साथ-साथ MailKit के SmtpClient का उपयोग करने की कोशिश की है और न ही कोई काम करता है। मुझे त्रुटि मिलती रहती है (यह MailKit से त्रुटि है - .Net त्रुटि समान है)
"ऑथेंटिकेशनइन्लेवलाइडक्रेडिएंट्स: 5.7.3 ऑथेंटिकेशन असफल [[.prod.exchangelabs.com]"
मैं OWA में प्रवेश करने के लिए अपने कोड में मौजूद क्रेडेंशियल्स का उपयोग कर सकता हूं - इसलिए मुझे पता है कि क्रेडेंशियल्स मान्य हैं। क्या O356 के माध्यम से ईमेल भेजना संभव नहीं है? क्या ऐसा कोई विशेष विन्यास है जो इसे संभव बनाने के लिए एक्सचेंज में होना चाहिए?
यहाँ मैंने अभी तक कोशिश की है:
MailKit
var msg = new MimeMessage();
msg.From.Add(new MailboxAddress("Support","support@mydomain.com"));
msg.To.Add(new MailboxAddress("Me","me@mydomain.com"));
msg.To.Add(new MailboxAddress("External User","euser@externaldomain.com"));
msg.Subject = "Test";
msg.Body = new TextPart("plain"){
Text = "Here is a message for you"
};
using(var client = new SmtpClient()){
client.ServerCertificateValidationCallback = (s,c,h,e) => true;
client.AuthenticationMechanisms.Remove("XOAUTH2"); //Not sure what this does. Have tried with and without
client.Connect("smtp.office365.com", 587, MailKit.Security.SecureSocketOptions.StartTls);
client.Authenticate(new NetworkCredential("support@mydomain.com", "supportPwd"));
client.Send(msg);
client.Disconnect(true);
}
.Net SmtpClient कोड MailKit कोड के समान दिखाई देता है।
- क्या एक लाइसेंस प्राप्त उपयोगकर्ता के साथ O365 के माध्यम से भेजने का एक तरीका है? (ऊपर कोड)
- क्या इस कार्य को करने के लिए एक्सचेंज में या लाइसेंस प्राप्त उपयोगकर्ता पर कोई विशेष सेटिंग्स आवश्यक हैं? (यदि 1 का उत्तर हां है)
- क्या एक साझा मेलबॉक्स के माध्यम से ईमेल भेजना संभव है जिसके लिए क्रेडेंशियल उपयोगकर्ता के पास भेजें अधिकार हैं?
अपडेट करें
मुझे अभी भी वही त्रुटि संदेश मिल रहा है। हमारे पास हमारे डोमेन उपयोगकर्ताओं के लिए MFA सक्षम है। हालाँकि, हमारे पास एक नीति है जो उपयोगकर्ताओं के लिए एमएफए की आवश्यकता नहीं है जब वे एक विश्वसनीय स्थान (हमारे ओआरजी के आईपी) से साइन इन कर रहे हैं। मैंने हमारे आईपी को एक विश्वसनीय आईपी के रूप में सूचीबद्ध किया है। मेरे दिमाग में, एमएफए यहां मुद्दा नहीं होना चाहिए।
मुझे पता है कि क्रेडेंशियल्स सही हैं। मैंने उन्हें कोड से कॉपी किया और उन्हें M365 में साइन इन करते समय लॉगिन स्क्रीन पर पेस्ट किया - और मैं बस ठीक हो गया।
मैं क्या गलत कर रहा हूं?