Office365 paylaşılan posta kutusu aracılığıyla SMTP e-postası gönderebilir miyim?


13

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.

  1. Lisanslı bir kullanıcıyla O365 üzerinden göndermenin bir yolu var mı? (yukarıdaki kod)
  2. Exchange'in veya lisanslı kullanıcının bu çalışmayı yapabilmesi için gereken özel ayarlar var mı? (1'in cevabı evet ise)
  3. 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?

Yanıtlar:


7
  1. Evet yapabilirsin.

  2. Kullanıcı ayarları: Yönetici Merkezi'nin ekran görüntüsü E-posta uygulamalarını yönetin ekran görüntüsü

Sunucu ayarları: https://support.office.com/tr-tr/article/POP-IMAP-and-SMTP-settings-for-Outlook-com-d088b986-291d-42b8-9564-9c414e2aa040

SMTP server name smtp.office365.com

SMTP port 587

SMTP encryption method STARTTLS
  1. Hayır yapamazsın. SMTP üzerinden posta göndermek için lisanslı bir kullanıcıya ihtiyacınız var.

https://answers.microsoft.com/en-us/msoffice/forum/msoffice_o365admin/set-up-smtp-relay-with-shared-mailbox/d7b98214-9564-432c-b098-525a98c529fb

Müşterimiz TYPO3 ile kurulmuş bir bülten sistemine sahip ve bunun için yeni bir posta kutusu oluşturmak zorunda kaldık. Ancak, hafif bir tane yeterli olacaktır: Office 365 Business Premium yerine yalnızca bir Office 365 F1 lisansı atadık.

Düzenleme: ayrıca bulundu: Office365 paylaşılan posta kutusu SMTP kullanabilir mi?


Bu Paylaşılan Posta Kutusu ile ilgili sorumu yanıtlıyor gibi görünüyor. Ama ilk kodumda, lisanslı bir kullanıcıyla çalışıyorum ve bu da çalışmıyor - öyle mi?
RHarris

@RHarris evet olmalı. Düzenlenmiş cevaba bakınız. Eksik ilk cevap için özür dileriz.
Wolfgang Jacques

0

Benzer sorunları olan herkes için, sorunumun bir Koşullu Erişim Politikası olduğunu buldum. Microsoft, Baseline Policy: Block Legacy AuthenticationAAD'de açık olan bir - sağlar .

Politikaya bakıldığında, MFA gerektirmeyen tüm kimlik doğrulama mekanizmalarını bloke etmek için tasarlanmıştır. Buna POP ve SMTP gibi şeyler de dahildir. Bu politikayı devre dışı bıraktıktan sonra, yukarıda listelenen kod iyi çalıştı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.