Чи можу я надіслати SMTP електронну пошту через спільну поштову скриньку Office365?


13

Ми думаємо про перехід до O365; проте ми розробили програмне забезпечення, яке використовує наш поточний сервер Exchange для надсилання електронної пошти як зовнішнім користувачам, так і в поле підтримки, коли виникають помилки.

Я тестував це, щоб переконатися, що наявний у нас код буде продовжувати працювати з O365, але поки що я не мав великого успіху.

Я спробував використовувати SmtpClient .Net, а також SmtpClient MailKit, і жоден, схоже, не працює. Я постійно отримую помилку (це помилка від MailKit - помилка .Net схожа)

"AuthenticationInvalidCredentials: 5.7.3 Аутентифікація невдала [* .prod.exchangelabs.com]"

Я можу використовувати облікові дані, які є в моєму коді, для входу в OWA - тому я знаю, що дані є дійсними. Неможливо надіслати електронний лист через O356? Чи є якась спеціальна конфігурація, яка повинна відбутися в Exchange, щоб зробити це можливим?

Ось що я спробував поки що:

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.

  1. Чи є спосіб надіслати через O365 з ліцензованим користувачем? (код вище)
  2. Чи потрібні якісь спеціальні налаштування в Exchange або у ліцензованого користувача, щоб зробити цю роботу? (Якщо відповідь на 1 - так)
  3. Чи можливо надсилати електронну пошту через спільну поштову скриньку, на яку зареєстрований користувач має права надіслати як?

Оновлення

Я все ще отримую те саме повідомлення про помилку. У нас увімкнено МЗС для наших користувачів домену. Однак у нас є політика, яка не вимагає MFA для користувачів, коли вони входять із надійного місця (IP нашого органу). Я також вказав наш IP як довірений IP. На мій погляд, МЗС не повинно бути тут проблемою.

Я знаю, що облікові дані правильні. Я скопіював їх з коду і вставив їх на екран входу при вході в M365 - і мені все вдалося.

Що я роблю неправильно?

Відповіді:


7
  1. Так, ти можеш.

  2. Налаштування користувачів: Знімок екрана Адміністраторського центру Знімок екрана Керування програмами електронної пошти

Налаштування сервера: https://support.office.com/en-us/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. Ні, ви не можете. Для надсилання пошти через SMTP потрібен ліцензований користувач.

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

Наш клієнт має розроблену систему розсилки з TYPO3, і нам довелося створити для цього нову поштову скриньку. Однак легкого буде достатньо: замість Office 365 Business Premium ми призначили лише ліцензію Office 365 F1.

Редагувати: також знайдено це: Чи може спільна поштова скринька Office365 використовувати SMTP?


Тож, здається, це відповідає на моє запитання щодо Спільної скриньки. Але в моєму початковому коді я працюю з ліцензованим користувачем, який теж не працює - чи не так?
RHarris

@RHarris так. Див. Відредаговану відповідь. Вибачте за неповну першу відповідь.
Вольфганг Жак

0

Для всіх, у кого виникають подібні проблеми, я виявив, що моя проблема полягала в політиці умовного доступу. Microsoft надає Baseline Policy: Block Legacy Authentication- що було ввімкнено в нашій AAD.

Дивлячись на Політику, вона розроблена для БЛОКУВАННЯ будь-яких механізмів аутентифікації, які не потребують МЗС. Сюди входять такі речі, як POP та SMTP. Після того, як я відключив цю політику, перерахований вище код працював чудово.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.