12 KiB
title, weight, description, keywords
| title | weight | description | keywords | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Microsoft 365 | 16 | Skonfiguruj SMTP OAuth2 (Microsoft 365) w RustDesk Server Pro, aby wysylac e-maile przez Exchange Online. |
|
Skorzystaj z tego przewodnika, aby skonfigurowac RustDesk Server Pro do wysylania e-maili przez Microsoft 365 Exchange Online z OAuth2.
Ta konfiguracja nadaje sie do wiadomosci z zaproszeniami, e-maili weryfikacji logowania i powiadomien o alarmach polaczenia.
Ogolna konfiguracja SMTP jest opisana w SMTP.
Jakie Wartosci Wpisac w RustDesk Pro?
| Pole RustDesk Pro | Co wpisac |
|---|---|
| From | Adres nadawcy wyswietlany w wychodzacych e-mailach. |
| Mail Account | Adres skrzynki pocztowej, ktorego RustDesk uzywa jako nazwy uzytkownika XOAUTH2 SMTP. |
| OAuth2 Tenant ID | Directory (tenant) ID z przegladu aplikacji |
| OAuth2 Client ID | Application (client) ID z przegladu aplikacji |
| OAuth2 Client secret | Value secretu utworzonego w Certificates & secrets |
Ten zrzut ekranu pokazuje, gdzie wpisac te wartosci w RustDesk:

Konfiguracja
Przed rozpoczeciem tej konfiguracji upewnij sie, ze masz:
- RustDesk Server Pro
1.8.1lub nowszy - Istniejaca skrzynke Microsoft 365 albo skrzynke, ktora planujesz utworzyc do wysylania poczty, na przyklad
no-reply@contoso.com - Konto administratora Microsoft 365, ktore moze nadac admin consent w Microsoft Entra i zarzadzac service principal w Exchange Online
Ta konfiguracja ma trzy czesci:
- Skonfigurowanie w Azure rejestracji aplikacji, client secret, uprawnienia API i admin consent
- Skonfigurowanie w PowerShell service principal Exchange Online, skrzynki i uprawnien
- Skonfigurowanie SMTP OAuth2 w RustDesk i wyslanie testowego e-maila
1. Konfiguracja w Azure
- Zaloguj sie do portalu Azure.
- Wyszukaj i wybierz App registrations.
- W lewym menu wybierz App registrations, a nastepnie kliknij New registration.

- Utworz rejestracje aplikacji.

- Zanotuj
Directory (tenant) IDiApplication (client) ID. Wprowadzisz je pozniej w RustDesk.
- Otworz Certificates & secrets i utworz nowy client secret.

- Od razu skopiuj
Valuesecretu. Microsoft pokazuje te wartosc tylko raz.
- Otworz API permissions i dodaj uprawnienie aplikacyjne SMTP dla Microsoft 365 Exchange Online.
- Wybierz Add a permission.
- Wybierz APIs my organization uses i wyszukaj Office 365 Exchange Online.
- Wybierz Application permissions.
- Wybierz SMTP.SendAsApp i zapisz zmiane.

- Nadaj admin consent dla dodanego przed chwila uprawnienia.

2. Konfiguracja w PowerShell
W tej czesci polaczysz sie z Exchange Online, utworzysz service principal, przygotujesz skrzynke i nadasz uprawnienia.
- Otworz PowerShell jako lokalny administrator.

- Zainstaluj modul Exchange Online i polacz sie przy uzyciu konta administratora tenanta.
Install-Module -Name ExchangeOnlineManagement
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline
Jesli chcesz jawnie wskazac konto administratora, mozesz takze uzyc:
Connect-ExchangeOnline -UserPrincipalName admin@contoso.com
- W Microsoft Entra Enterprise applications znajdz aplikacje i zanotuj jej
Object ID. Bedzie potrzebny przy tworzeniu service principal Exchange Online.
{{% notice note %}}
OBJECT_ID uzywany tutaj musi byc object ID aplikacji z Enterprise applications, a nie object ID widocznym na stronie przegladu App registrations.
{{% /notice %}}
- Uruchom to polecenie, aby utworzyc service principal Exchange Online dla rejestracji aplikacji. Microsoft opisuje ten krok jako rejestracje service principal aplikacji Microsoft Entra w Exchange Online.
New-ServicePrincipal -AppId <APPLICATION_ID> -ObjectId <OBJECT_ID>
Jesli to polecenie nie powiedzie sie mimo poprawnego polaczenia z Exchange, sprawdz, czy konto administratora ma uprawnienia do zarzadzania service principal w Exchange Online.

- Potwierdz, ze Exchange utworzyl service principal, i zanotuj jego wartosc
Identitydo kolejnych krokow.
Get-ServicePrincipal | Format-Table DisplayName,AppId,ObjectId,Identity
Uzyj zwroconej tutaj wartosci Identity jako <SERVICE_PRINCIPAL_ID> w dwoch kolejnych poleceniach nadawania uprawnien.
- Jesli skrzynka nadawcza jeszcze nie istnieje, mozesz najpierw utworzyc shared mailbox, na przyklad:
New-Mailbox -Shared -Name "No Reply" -Alias no-reply -DisplayName "No Reply" -PrimarySmtpAddress no-reply@contoso.com
Jesli masz juz skrzynke do wysylki, mozesz pominac ten krok.

- Sprawdz, czy
Authenticated SMTPjest wlaczone dla tenanta i skrzynki nadawczej.
Get-TransportConfig | Format-List SmtpClientAuthenticationDisabled
Get-CASMailbox -Identity "no-reply@contoso.com" | Format-List SmtpClientAuthenticationDisabled
Jesli nie jest wlaczone, testowe e-maile moga konczyc sie takim bledem:
permanent error (535): 5.7.139 Authentication unsuccessful, SmtpClientAuthentication is disabled for the Tenant. Visit https://aka.ms/smtp_auth_disabled for more information.
W razie potrzeby dla ustawienia na poziomie skrzynki uruchom:
Set-CASMailbox -Identity "no-reply@contoso.com" -SmtpClientAuthenticationDisabled $false
Jesli ustawienie na poziomie tenanta zwroci True, zdecyduj zgodnie z polityka organizacji, czy uruchomic:
Set-TransportConfig -SmtpClientAuthenticationDisabled $false
Jesli ustawienia na poziomie tenanta i skrzynki wygladaja poprawnie, ale ten sam blad 535 5.7.139 nadal wystepuje, sprawdz tez, czy tenant korzysta z Microsoft Entra Security defaults. Microsoft Learn podaje, ze gdy Security defaults jest wlaczone, SMTP AUTH w Exchange Online jest wylaczone.
Szczegoly polecen znajduja sie w Microsoft Learn: Enable or disable authenticated client SMTP submission (SMTP AUTH) in Exchange Online.
- Nadaj Exchange service principal uprawnienie
FullAccessdo skrzynki, ktorej RustDesk bedzie uzywac do wysylania poczty.
Add-MailboxPermission -Identity "no-reply@contoso.com" -User <SERVICE_PRINCIPAL_ID> -AccessRights FullAccess
Tutaj uzyj skrzynki, ktora planujesz wpisac w Mail Account w RustDesk.
Jesli to polecenie zwroci blad taki jak ponizej:
Write-ErrorMessage : ||The operation couldn't be performed because object 'no-reply@xxx.com' couldn't be found on 'xxx.xxx.PROD.OUTLOOK.COM'.
oznacza to, ze wartosc przekazana do -Identity nie zostala rozpoznana w Exchange Online jako rzeczywisty obiekt skrzynki pocztowej.
Najpierw potwierdz, ze ta skrzynka rzeczywiscie istnieje w Exchange Online:
Get-EXOMailbox -Identity "no-reply@xxx.com" | Format-List DisplayName,PrimarySmtpAddress,RecipientTypeDetails
Jesli nie zostanie zwrocona zadna skrzynka, najpierw ja utworz lub potwierdz jej istnienie. Dla adresu nadawcy no-reply mozesz utworzyc shared mailbox, na przyklad:
New-Mailbox -Shared -Name "No Reply" -Alias no-reply -DisplayName "No Reply" -PrimarySmtpAddress no-reply@xxx.com
Jesli skrzynka juz istnieje, upewnij sie, ze wartosc uzyta w Add-MailboxPermission -Identity ... to rzeczywisty adres skrzynki, alias albo inna mailbox identity, ktora Exchange potrafi rozpoznac.

- Nadaj temu samemu service principal rowniez uprawnienie
SendAs.
Add-RecipientPermission -Identity "no-reply@contoso.com" -Trustee <SERVICE_PRINCIPAL_ID> -AccessRights SendAs -Confirm:$false
Ten krok rowniez nalezy do oficjalnej konfiguracji SMTP app-only firmy Microsoft.
3. Konfiguracja w RustDesk
Na tym etapie powinienes juz miec:
- adres nadawcy dla
From - adres skrzynki dla
Mail Account Directory (tenant) IDApplication (client) IDValueclient secret- potwierdzony service principal Exchange Online, ktory ma juz
FullAccessiSendAsdo skrzynki uzywanej wMail Account
RustDesk nie wymaga wpisania Identity service principal Exchange, ale przed testem wysylki powyzsze kroki nadawania uprawnien musza byc juz zakonczone.
-
W konsoli web RustDesk przejdz do Settings -> SMTP.
-
Wlacz OAuth2 i wybierz Microsoft 365 jako dostawce.
-
Uzupelnij te pola:
FromMail AccountOAuth2 Tenant IDOAuth2 Client IDOAuth2 Client secret
-
Kliknij Check, aby zapisac konfiguracje i wyslac testowy e-mail.

Jesli testowy e-mail nadal nie dziala, wroc do sekcji PowerShell i ponownie sprawdz Exchange Online service principal, Authenticated SMTP oraz uprawnienia skrzynki uzywanej w Mail Account.
Zrodla
- Microsoft Learn: Authenticate an IMAP, POP or SMTP connection using OAuth. Zrodlo krokow dotyczacych uprawnien aplikacji Exchange Online i service principal.
- Microsoft Learn: Enable or disable authenticated client SMTP submission (SMTP AUTH) in Exchange Online. Zrodlo sprawdzania i wlaczania
Authenticated SMTP. - Microsoft Learn: Create shared mailboxes in the Exchange admin center. Zrodlo tworzenia shared mailbox.
