Nie można nawiązać połączenia z aplikacją Outlook przy użyciu protokołu POP/IMAP i nowoczesnego uwierzytelniania

Firma Microsoft ogłosiła niedawno możliwość korzystania z uwierzytelniania OAuth dla protokołów POP i IMAP oraz SMTP w oprogramowaniu Exchange Online. Ponadto dzierżawcy są zachęcani do wyłączenia Uwierzytelniania podstawowego i przejścia do dzierżawy dla nowoczesnych klientów Nowoczesnego uwierzytelniania.

Jeśli uwierzytelnianie podstawowe zostało wyłączone i próbujesz skonfigurować profil aplikacji Outlook przy użyciu protokołów POP i SMTP lub IMAP i SMTP, zauważysz, że program Outlook nie łączy się ani nie uwierzytelnia. Dzieje się tak, ponieważ aplikacja Outlook obsługuje w tej chwili nowoczesne uwierzytelnianie tylko dla serwerów Exchange (MAPI/HTTP i EWS), Outlook.com i Gmail. Jest to również przedstawione w artykule Wycofywanie uwierzytelniania podstawowego w usłudze Exchange Online:

Nie ma planów, aby klienty programu Outlook obsługiwały uwierzytelnianie OAuth dla protokołów POP i IMAP, ale program Outlook może łączyć się przy użyciu interfejsu MAPI/HTTP (klienty systemu Windows) i EWS (Outlook dla komputerów Mac).

Jeśli używasz protokołu POP/IMAP i SMTP dla konta usługi Exchange Online w aplikacji Outlook, musisz włączyć uwierzytelnianie podstawowe dla tych protokołów (do momentu całkowitego wycofania 1 października). W tym celu wyłącz Microsoft Entra wartości domyślne zabezpieczeń, jeśli są włączone.

Włączanie uwierzytelniania podstawowego dla protokołów POP i IMAP

Jeśli wcześniej wyłączono uwierzytelnianie podstawowe dla protokołu POP lub IMAP przy użyciu zasad uwierzytelniania usługi Exchange Online, możesz zmienić te zasady, aby zezwolić na użycie tych protokołów. Aby ponownie włączyć uwierzytelnianie podstawowe dla tych protokołów, uruchom następujące polecenie programu PowerShell:

Set-AuthenticationPolicy -Identity <Policy Name> -AllowBasicAuthPop -AllowBasicAuthImap -AllowBasicAuthSmtp

Następnie możesz poczekać na odświeżenie tokenu po jego wygaśnięciu lub uruchomić następujące polecenie, aby wymusić jego natychmiastowe odświeżenie:

Set-User -Identity <user account> -STSRefreshTokensValidFrom $([System.DateTime]::UtcNow)

Włączanie protokołu SMTP

Protokół SMTP można włączyć i wyłączyć na poziomie dzierżawy lub na poziomie skrzynki pocztowej. Ta funkcja jest dostępna dla administratorów, aby uniemożliwić złośliwym użytkownikom przesyłanie komunikatów przy użyciu tego protokołu. Niektóre firmy mogą zdecydować się całkowicie wyłączyć protokół jako środek bezpieczeństwa i po prostu włączyć go dla określonych skrzynek pocztowych.

Poziom dzierżawy

Aby sprawdzić bieżące ustawienie na poziomie dzierżawy, uruchom następujące polecenie:

Get-TransportConfig | Select SmtpClientAuthenticationDisabled
  • Jeśli wartość to „False“, protokół SMTP nie jest wyłączony.
  • Jeśli wartość to „True”, protokół SMTP jest wyłączony dla całej dzierżawy.

Aby włączyć protokół SMTP, uruchom następujące polecenie, aby przywrócić wartość „False”:

Set-TransportConfig -SmtpClientAuthenticationDisabled $False

Aby uzyskać więcej informacji dotyczących polecenia Set-TransportConfig, zobacz artykuł pt. Set-TransportConfig.

Poziom skrzynki pocztowej

Aby sprawdzić bieżące ustawienie na poziomie skrzynki pocztowej, uruchom następujące polecenie:

Get-EXOCasMailbox <mailbox account> -Properties SmtpClientAuthenticationDisabled | Select SmtpClientAuthenticationDisabled
  • Jeśli wartość jest pusta, konfiguracja na poziomie dzierżawy będzie honorowana na poziomie skrzynki pocztowej. Jeśli konfiguracja na poziomie dzierżawy jest ustawiona na wyłączenie protokołu SMTP, aplikacja Outlook nie będzie się łączyć. W takim przypadku można ustawić wyjątek dla określonej skrzynki pocztowej przy zachowaniu ustawienia poziomu dzierżawy w celu wyłączenia protokołu SMTP. Można również zmienić ustawienie na poziomie dzierżawy, aby zupełnie go włączyć.
  • Jeśli wartość to „False“, konfiguracja na poziomie dzierżawy zostanie zastąpiona przez ustawienie na poziomie skrzynki pocztowej, a protokół SMTP nie zostanie wyłączony dla tego konkretnego użytkownika.
  • Jeśli wartość to „True”, protokół SMTP jest wyłączony i dany użytkownik nie będzie mógł nawiązać połączenia przy użyciu uwierzytelniania AUTH SMTP.

Aby włączyć protokół SMTP, uruchom następujące polecenie, aby przywrócić wartość „False”:

Set-CasMailbox <mailbox account> -SmtpClientAuthenticationDisabled $False

Aby uzyskać więcej informacji dotyczących polecenia Set-CasMailbox, zobacz artykuł pt. Set-CasMailbox.