12 KiB
title, weight, description, keywords
| title | weight | description | keywords | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Microsoft 365 | 16 | Configurez SMTP OAuth2 (Microsoft 365) dans RustDesk Server Pro pour envoyer des e-mails via Exchange Online. |
|
Utilisez ce guide pour configurer RustDesk Server Pro afin d'envoyer des e-mails via Microsoft 365 Exchange Online avec OAuth2.
Cette configuration convient aux e-mails d'invitation, aux e-mails de verification de connexion et aux notifications d'alerte de connexion.
Pour la configuration SMTP generale, consultez SMTP.
Quelles Valeurs Saisir Dans RustDesk Pro ?
| Champ RustDesk Pro | Valeur a saisir |
|---|---|
| From | L'adresse de l'expediteur affichee dans les e-mails sortants. |
| Mail Account | L'adresse de la boite aux lettres que RustDesk utilise comme nom d'utilisateur XOAUTH2 SMTP. |
| OAuth2 Tenant ID | Directory (tenant) ID dans la vue d'ensemble de l'application |
| OAuth2 Client ID | Application (client) ID dans la vue d'ensemble de l'application |
| OAuth2 Client secret | La Value du secret cree sous Certificates & secrets |
Cette capture montre ou saisir ces valeurs dans RustDesk :

Configuration
Avant de commencer cette configuration, assurez-vous d'avoir :
- RustDesk Server Pro
1.8.1ou version ulterieure - Une boite aux lettres Microsoft 365 existante, ou une boite que vous prevoyez de creer pour l'envoi, par exemple
no-reply@contoso.com - Un compte administrateur Microsoft 365 capable d'accorder l'admin consent dans Microsoft Entra et de gerer les service principals Exchange Online
Cette configuration comporte trois parties :
- Configurer dans Azure l'enregistrement de l'application, le client secret, l'autorisation API et l'admin consent
- Configurer dans PowerShell le service principal Exchange Online, la boite aux lettres et les autorisations
- Configurer SMTP OAuth2 dans RustDesk et envoyer un e-mail de test
1. Configurer Dans Azure
- Connectez-vous au portail Azure.
- Recherchez App registrations et ouvrez cet element.
- Dans le menu de gauche, selectionnez App registrations, puis cliquez sur New registration.

- Creez l'enregistrement de l'application.

- Notez
Directory (tenant) IDetApplication (client) ID. Vous les saisirez plus tard dans RustDesk.
- Ouvrez Certificates & secrets, puis creez un nouveau client secret.

- Copiez immediatement la
Valuedu secret. Microsoft n'affiche cette valeur qu'une seule fois.
- Ouvrez API permissions et ajoutez l'autorisation applicative SMTP de Microsoft 365 Exchange Online.
- Selectionnez Add a permission.
- Selectionnez APIs my organization uses et recherchez Office 365 Exchange Online.
- Selectionnez Application permissions.
- Selectionnez SMTP.SendAsApp et enregistrez la modification.

- Accordez l'admin consent a l'autorisation que vous venez d'ajouter.

2. Configurer Dans PowerShell
Dans cette partie, vous vous connectez a Exchange Online, creez le service principal, preparez la boite aux lettres et accordez les autorisations.
- Ouvrez PowerShell en tant qu'administrateur local.

- Installez le module Exchange Online et connectez-vous avec votre compte administrateur du tenant.
Install-Module -Name ExchangeOnlineManagement
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline
Si vous souhaitez specifier explicitement le compte administrateur, vous pouvez aussi utiliser :
Connect-ExchangeOnline -UserPrincipalName admin@contoso.com
- Dans Microsoft Entra Enterprise applications, recherchez l'application et relevez son
Object ID. Vous en aurez besoin lors de la creation du service principal Exchange Online.
{{% notice note %}}
L'OBJECT_ID utilise ici doit etre l'object ID de l'application dans Enterprise applications, et non l'object ID affiche dans la vue d'ensemble de App registrations.
{{% /notice %}}
- Executez cette commande pour creer le service principal Exchange Online pour l'enregistrement de l'application. La documentation Microsoft decrit cette etape comme l'enregistrement du service principal d'une application Microsoft Entra dans Exchange Online.
New-ServicePrincipal -AppId <APPLICATION_ID> -ObjectId <OBJECT_ID>
Si cette commande echoue alors que la connexion a Exchange a reussi, verifiez que le compte administrateur est autorise a gerer les service principals Exchange Online.

- Verifiez qu'Exchange a bien cree le service principal et relevez sa valeur
Identitypour les etapes suivantes.
Get-ServicePrincipal | Format-Table DisplayName,AppId,ObjectId,Identity
Utilisez la valeur Identity renvoyee ici comme <SERVICE_PRINCIPAL_ID> dans les deux commandes d'autorisation suivantes.
- Si la boite aux lettres d'envoi n'existe pas encore, vous pouvez d'abord creer une shared mailbox, par exemple :
New-Mailbox -Shared -Name "No Reply" -Alias no-reply -DisplayName "No Reply" -PrimarySmtpAddress no-reply@contoso.com
Si vous disposez deja d'une boite aux lettres pour l'envoi, vous pouvez ignorer cette etape.

- Verifiez si
Authenticated SMTPest active pour le tenant et pour la boite aux lettres d'envoi.
Get-TransportConfig | Format-List SmtpClientAuthenticationDisabled
Get-CASMailbox -Identity "no-reply@contoso.com" | Format-List SmtpClientAuthenticationDisabled
Si ce n'est pas active, les e-mails de test peuvent echouer avec l'erreur suivante :
permanent error (535): 5.7.139 Authentication unsuccessful, SmtpClientAuthentication is disabled for the Tenant. Visit https://aka.ms/smtp_auth_disabled for more information.
Pour le parametre au niveau de la boite aux lettres, executez ceci si necessaire :
Set-CASMailbox -Identity "no-reply@contoso.com" -SmtpClientAuthenticationDisabled $false
Si le parametre au niveau du tenant renvoie True, decidez selon la politique de votre organisation s'il faut executer :
Set-TransportConfig -SmtpClientAuthenticationDisabled $false
Si les parametres du tenant et de la boite aux lettres semblent corrects mais que la meme erreur 535 5.7.139 persiste, verifiez aussi si le tenant utilise Microsoft Entra Security defaults. Microsoft Learn indique que SMTP AUTH est desactive dans Exchange Online lorsque Security defaults est active.
Pour le detail des commandes, consultez Microsoft Learn : Enable or disable authenticated client SMTP submission (SMTP AUTH) in Exchange Online.
- Accordez au service principal Exchange le droit
FullAccesssur la boite aux lettres que RustDesk utilisera pour envoyer les e-mails.
Add-MailboxPermission -Identity "no-reply@contoso.com" -User <SERVICE_PRINCIPAL_ID> -AccessRights FullAccess
Utilisez ici la boite aux lettres que vous prevoyez de saisir dans Mail Account de RustDesk.
Si cette commande renvoie une erreur comme celle-ci :
Write-ErrorMessage : ||The operation couldn't be performed because object 'no-reply@xxx.com' couldn't be found on 'xxx.xxx.PROD.OUTLOOK.COM'.
cela signifie que la valeur fournie a -Identity n'a pas ete resolue en un veritable objet de boite aux lettres dans Exchange Online.
Verifiez d'abord que la boite aux lettres existe bien dans Exchange Online :
Get-EXOMailbox -Identity "no-reply@xxx.com" | Format-List DisplayName,PrimarySmtpAddress,RecipientTypeDetails
Si aucune boite aux lettres n'est renvoyee, creez ou confirmez d'abord cette boite. Pour une adresse d'expedition no-reply, vous pouvez creer une shared mailbox, par exemple :
New-Mailbox -Shared -Name "No Reply" -Alias no-reply -DisplayName "No Reply" -PrimarySmtpAddress no-reply@xxx.com
Si la boite aux lettres existe deja, assurez-vous que la valeur utilisee dans Add-MailboxPermission -Identity ... est bien l'adresse reelle de la boite, son alias, ou une autre identity de mailbox qu'Exchange peut resoudre.

- Accordez ensuite au meme service principal l'autorisation
SendAs.
Add-RecipientPermission -Identity "no-reply@contoso.com" -Trustee <SERVICE_PRINCIPAL_ID> -AccessRights SendAs -Confirm:$false
Cette etape fait aussi partie de la configuration SMTP app-only officielle de Microsoft.
3. Configurer Dans RustDesk
A ce stade, vous devriez deja avoir :
- l'adresse d'expediteur pour
From - l'adresse de boite aux lettres pour
Mail Account - la
Directory (tenant) ID - l'
Application (client) ID - la
Valuedu client secret - un service principal Exchange Online confirme, qui dispose deja de
FullAccessetSendAssur la boite aux lettres utilisee dansMail Account
RustDesk ne demande pas l'Identity du service principal Exchange, mais les etapes d'autorisation ci-dessus doivent etre terminees avant le test d'envoi.
-
Dans la console web RustDesk, ouvrez Settings -> SMTP.
-
Activez OAuth2 et choisissez Microsoft 365 comme fournisseur.
-
Renseignez ces champs :
FromMail AccountOAuth2 Tenant IDOAuth2 Client IDOAuth2 Client secret
-
Cliquez sur Check pour enregistrer la configuration et envoyer un e-mail de test.

Si l'e-mail de test echoue encore, revenez a la section PowerShell et verifiez de nouveau le service principal Exchange Online, Authenticated SMTP et les autorisations de la boite aux lettres utilisee dans Mail Account.
Sources
- Microsoft Learn: Authenticate an IMAP, POP or SMTP connection using OAuth. Utilise pour les etapes relatives aux autorisations d'application Exchange Online et aux service principals.
- Microsoft Learn: Enable or disable authenticated client SMTP submission (SMTP AUTH) in Exchange Online. Utilise pour verifier et activer
Authenticated SMTP. - Microsoft Learn: Create shared mailboxes in the Exchange admin center. Utilise pour creer une shared mailbox.
