O365'e geçmeyi düşünüyoruz; ancak, hatalar oluştuğunda hem harici kullanıcılara hem de bir destek kutusuna e-posta göndermek için mevcut Exchange sunucumuzu kullanan bir yazılım geliştirdik.
Ben yerinde kod O365 ile çalışmaya devam edecek emin olmak için bunu test ediyorum ama şimdiye kadar, ben çok başarılı değil.
Net's SmtpClient yanı sıra MailKit'in SmtpClient kullanarak denedim ve hiçbiri işe yarıyor gibi görünüyor. Hata almaya devam ediyorum (bu MailKit'ten gelen hatadır - .Net hatası benzerdir)
"AuthenticationInvalidCredentials: 5.7.3 Kimlik doğrulama başarısız [* .prod.exchangelabs.com]"
OWA'da oturum açmak için kodumda bulunan kimlik bilgilerini kullanabilirim - böylece kimlik bilgilerinin geçerli olduğunu biliyorum. O356 üzerinden e-posta göndermek mümkün değil mi? Bunu mümkün kılmak için Exchange'de gerçekleşmesi gereken özel bir yapılandırma var mı?
İşte şimdiye kadar denedim:
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 kodu MailKit koduna çok benziyordu.
- Lisanslı bir kullanıcıyla O365 üzerinden göndermenin bir yolu var mı? (yukarıdaki kod)
- Exchange'in veya lisanslı kullanıcının bu çalışmayı yapabilmesi için gereken özel ayarlar var mı? (1'in cevabı evet ise)
- Kimlik bilgisi verilen kullanıcının Farklı Gönder haklarına sahip olduğu paylaşılan bir posta kutusu aracılığıyla e-posta göndermek mümkün müdür?
Güncelleme
Hala aynı hata mesajını alıyorum. Alan adı kullanıcılarımız için MFA etkin. Ancak, güvenilir bir konumdan (kuruluşumuzun IP adresi) oturum açtıklarında kullanıcılar için MFA gerektirmeyen bir politikamız vardır. IP adresimizi de Güvenilir IP olarak listeledim. Aklımda, MFA burada sorun olmamalı.
Kimlik bilgilerinin doğru olduğunu biliyorum. Onları koddan kopyaladım ve M365'de oturum açarken giriş ekranına yapıştırdım - ve iyiydim.
Neyi yanlış yapıyorum?