Files
doc.rustdesk.com/content/self-host/rustdesk-server-pro/smtp/microsoft-365/_index.pt.md
fufesou e0821b420a fix: broken links
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-04-18 12:00:27 +08:00

12 KiB

title, weight, description, keywords
title weight description keywords
Microsoft 365 16 Configure SMTP OAuth2 (Microsoft 365) no RustDesk Server Pro para enviar e-mails pelo Exchange Online.
rustdesk smtp oauth2
rustdesk smtp microsoft 365
rustdesk smtp m365
rustdesk smtp oauth2 microsoft 365
rustdesk smtp oauth2 m365
rustdesk server pro smtp oauth2
rustdesk server pro microsoft 365
rustdesk server pro m365
rustdesk server pro smtp oauth2 microsoft 365
rustdesk server pro smtp oauth2 m365

Use este guia para configurar o RustDesk Server Pro para enviar e-mails pelo Microsoft 365 Exchange Online com OAuth2.

Esta configuracao e adequada para e-mails de convite, e-mails de verificacao de login e notificacoes de alerta de conexao.

Para a configuracao SMTP geral, consulte SMTP.

Quais Valores Inserir no RustDesk Pro?

Campo do RustDesk Pro O que inserir
From O endereco do remetente exibido nos e-mails enviados.
Mail Account O endereco da caixa de correio que o RustDesk usa como nome de usuario XOAUTH2 SMTP.
OAuth2 Tenant ID Directory (tenant) ID na visao geral do aplicativo
OAuth2 Client ID Application (client) ID na visao geral do aplicativo
OAuth2 Client secret O Value do secret criado em Certificates & secrets

Esta captura mostra onde esses valores sao inseridos no RustDesk:

Configuracao

Antes de iniciar esta configuracao, verifique se voce tem:

  • RustDesk Server Pro 1.8.1 ou posterior
  • Uma caixa de correio Microsoft 365 existente, ou uma que voce pretende criar para envio, por exemplo no-reply@contoso.com
  • Uma conta de administrador do Microsoft 365 que possa conceder admin consent no Microsoft Entra e gerenciar service principals do Exchange Online

Esta configuracao tem tres partes:

  • Configurar no Azure o registro do aplicativo, o client secret, a permissao de API e o admin consent
  • Configurar no PowerShell o service principal do Exchange Online, a caixa de correio e as permissoes
  • Configurar SMTP OAuth2 no RustDesk e enviar um e-mail de teste

1. Configuracao no Azure

  1. Entre no portal do Azure.
  2. Procure e selecione App registrations.
  3. No menu esquerdo, selecione App registrations e clique em New registration.
  4. Crie o registro do aplicativo.
  5. Anote Directory (tenant) ID e Application (client) ID. Voce os informara depois no RustDesk.
  6. Abra Certificates & secrets e crie um novo client secret.
  7. Copie imediatamente o Value do secret. A Microsoft mostra esse valor apenas uma vez.
  8. Abra API permissions e adicione a permissao de aplicativo SMTP do Microsoft 365 Exchange Online.
  9. Selecione Add a permission.
  10. Selecione APIs my organization uses e procure Office 365 Exchange Online.
  11. Selecione Application permissions.
  12. Selecione SMTP.SendAsApp e salve a alteracao.
  13. Conceda admin consent para a permissao que voce acabou de adicionar.

2. Configuracao no PowerShell

Nesta parte, voce vai se conectar ao Exchange Online, criar o service principal, preparar a caixa de correio e conceder as permissoes.

  1. Abra o PowerShell como administrador local.
  2. Instale o modulo do Exchange Online e conecte-se com a conta de administrador do tenant.
Install-Module -Name ExchangeOnlineManagement
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline

Se quiser especificar explicitamente a conta de administrador, voce tambem pode usar:

Connect-ExchangeOnline -UserPrincipalName admin@contoso.com
  1. Em Microsoft Entra Enterprise applications, encontre o aplicativo e anote o Object ID. Voce precisara dele ao criar o service principal do Exchange Online.

{{% notice note %}} O OBJECT_ID aqui deve ser o object ID do aplicativo em Enterprise applications, e nao o object ID mostrado na pagina de visao geral de App registrations. {{% /notice %}}

  1. Execute este comando para criar o service principal do Exchange Online para o registro do aplicativo. A documentacao da Microsoft descreve esta etapa como o registro do service principal de um aplicativo do Microsoft Entra no Exchange Online.
New-ServicePrincipal -AppId <APPLICATION_ID> -ObjectId <OBJECT_ID>

Se este comando falhar mesmo com a conexao ao Exchange funcionando, verifique se a conta de administrador tem permissao para gerenciar service principals do Exchange Online.

  1. Confirme que o Exchange criou o service principal e anote o valor Identity para as proximas etapas.
Get-ServicePrincipal | Format-Table DisplayName,AppId,ObjectId,Identity

Use o valor Identity retornado aqui como <SERVICE_PRINCIPAL_ID> nos dois comandos de permissao seguintes.

  1. Se a caixa de correio de envio ainda nao existir, voce pode criar primeiro uma shared mailbox, por exemplo:
New-Mailbox -Shared -Name "No Reply" -Alias no-reply -DisplayName "No Reply" -PrimarySmtpAddress no-reply@contoso.com

Se voce ja tiver uma caixa de correio para envio, pode pular esta etapa.

  1. Verifique se Authenticated SMTP esta habilitado para o tenant e para a caixa de correio de envio.
Get-TransportConfig | Format-List SmtpClientAuthenticationDisabled
Get-CASMailbox -Identity "no-reply@contoso.com" | Format-List SmtpClientAuthenticationDisabled

Se nao estiver habilitado, os e-mails de teste podem falhar com este erro:

permanent error (535): 5.7.139 Authentication unsuccessful, SmtpClientAuthentication is disabled for the Tenant. Visit https://aka.ms/smtp_auth_disabled for more information.

Para a configuracao no nivel da caixa de correio, execute isto se necessario:

Set-CASMailbox -Identity "no-reply@contoso.com" -SmtpClientAuthenticationDisabled $false

Se a configuracao no nivel do tenant retornar True, decida de acordo com a politica da sua organizacao se deve executar:

Set-TransportConfig -SmtpClientAuthenticationDisabled $false

Se as configuracoes do tenant e da caixa de correio parecerem corretas, mas o mesmo erro 535 5.7.139 continuar, verifique tambem se o tenant usa Microsoft Entra Security defaults. O Microsoft Learn informa que o SMTP AUTH fica desabilitado no Exchange Online quando Security defaults esta habilitado.

Para detalhes dos comandos, consulte Microsoft Learn: Enable or disable authenticated client SMTP submission (SMTP AUTH) in Exchange Online.

  1. Conceda ao service principal do Exchange FullAccess a caixa de correio que o RustDesk usara para enviar e-mails.
Add-MailboxPermission -Identity "no-reply@contoso.com" -User <SERVICE_PRINCIPAL_ID> -AccessRights FullAccess

Use aqui a caixa de correio que voce pretende informar em Mail Account no RustDesk.

Se este comando retornar um erro como este:

Write-ErrorMessage : ||The operation couldn't be performed because object 'no-reply@xxx.com' couldn't be found on 'xxx.xxx.PROD.OUTLOOK.COM'.

isso significa que o valor passado para -Identity nao foi resolvido como um objeto real de caixa de correio no Exchange Online.

Primeiro confirme se a caixa de correio realmente existe no Exchange Online:

Get-EXOMailbox -Identity "no-reply@xxx.com" | Format-List DisplayName,PrimarySmtpAddress,RecipientTypeDetails

Se nenhuma caixa de correio for retornada, crie ou confirme essa caixa primeiro. Para um endereco remetente no-reply, voce pode criar uma shared mailbox, por exemplo:

New-Mailbox -Shared -Name "No Reply" -Alias no-reply -DisplayName "No Reply" -PrimarySmtpAddress no-reply@xxx.com

Se a caixa de correio ja existir, verifique se o valor usado em Add-MailboxPermission -Identity ... e o endereco real da caixa, o alias ou outra mailbox identity que o Exchange consiga resolver.

  1. Conceda ao mesmo service principal a permissao SendAs.
Add-RecipientPermission -Identity "no-reply@contoso.com" -Trustee <SERVICE_PRINCIPAL_ID> -AccessRights SendAs -Confirm:$false

Esta etapa tambem faz parte da configuracao oficial de SMTP app-only da Microsoft.

3. Configuracao no RustDesk

Neste ponto, voce ja deve ter:

  • o endereco remetente que usara em From
  • o endereco da caixa de correio que usara em Mail Account
  • o Directory (tenant) ID
  • o Application (client) ID
  • o Value do client secret
  • um service principal do Exchange Online confirmado, que ja tenha FullAccess e SendAs sobre a caixa de correio usada em Mail Account

O RustDesk nao solicita a Identity do service principal do Exchange, mas as etapas de permissao acima ja precisam estar concluidas antes de testar o envio.

  1. Na console web do RustDesk, acesse Settings -> SMTP.

  2. Ative OAuth2 e selecione Microsoft 365 como provedor.

  3. Preencha estes campos:

    • From
    • Mail Account
    • OAuth2 Tenant ID
    • OAuth2 Client ID
    • OAuth2 Client secret
  4. Clique em Check para salvar a configuracao e enviar um e-mail de teste.

Se o e-mail de teste ainda falhar, volte para a secao do PowerShell e confira novamente o service principal do Exchange Online, Authenticated SMTP e as permissoes da caixa de correio usada em Mail Account.

Referencias