Configurare un server SMTP

Accedere a Amministrazione > SMTP.

Configurazione di base

  • Indirizzo: indirizzo del server SMTP
  • Porta: porta utilizzata per comunicare con il server SMTP
  • Crittografia: crittografia della connessione al server SMTP (STARTTLS, TLS o In chiaro)
  • Dominio: dominio del server SMTP
  • Autenticazione: metodo di autenticazione presso il server SMTP (PLAIN, LOGIN, CRAM-MD5 o OAuth 2.0 (Microsoft 365))
  • Nome utente: nome utente utilizzato per stabilire la connessione al server SMTP
  • Password: password del nome utente inserito in precedenza
  • Credenziale Azure: credenziale salvata che fornisce il token di accesso, al posto della password, con l’autenticazione OAuth 2.0 (Microsoft 365)
  • Mittente: indirizzo e-mail che l’istanza Cyberwatch utilizzerà

Configurazione di un server senza autenticazione

Per configurare un server SMTP senza autenticazione, è sufficiente lasciare vuoti i campi Nome utente e Password.

In caso di problemi, è possibile eliminare la configurazione attuale tramite il pulsante Elimina, quindi ricreare la configurazione desiderata.

Autenticazione OAuth 2.0 con Microsoft 365

Microsoft sta ritirando l’autenticazione SMTP tramite password su Exchange Online (calendario). Con l’autenticazione OAuth 2.0 (Microsoft 365), Cyberwatch ottiene un token di accesso da Microsoft Entra ID per un’applicazione registrata nel proprio tenant, quindi si autentica con questo token presso il server SMTP.

La configurazione si svolge in tre fasi: l’applicazione in Microsoft Entra ID, il suo accesso alla casella di posta in Exchange Online, quindi il modulo SMTP di Cyberwatch.

Creare l’applicazione in Microsoft Entra ID

  1. Dall’interfaccia di amministrazione di Microsoft Entra, menu Registrazioni app, creare una nuova registrazione app, con il tipo di account Account solo in questa directory organizzativa
  2. Annotare l’ID applicazione (client) e l’ID della directory (tenant), visualizzati nella pagina Panoramica dell’applicazione
  3. Da Certificati e segreti, creare un segreto client. È anche possibile autenticarsi con un certificato generato da Cyberwatch, come descritto in Configurare gli accessi API
  4. Da Autorizzazioni API, cliccare su Aggiungi un’autorizzazione, quindi nella scheda API usate dall’organizzazione, cercare Office 365 Exchange Online
  5. Cliccare su Autorizzazioni applicazione, selezionare SMTP.SendAsApp, quindi cliccare su Aggiungi autorizzazioni
  6. Concedere il consenso amministratore per questa autorizzazione, dalla stessa pagina

Autorizzare l’accesso alla casella di posta in Exchange Online

L’entità servizio dell’applicazione deve quindi essere registrata in Exchange Online, poi ricevere l’accesso alla casella di posta di invio. Queste operazioni si eseguono con il modulo PowerShell ExchangeOnlineManagement:

Install-Module -Name ExchangeOnlineManagement
Connect-ExchangeOnline -Organization <TENANT_ID>
New-ServicePrincipal -AppId <APPLICATION_ID> -ObjectId <OBJECT_ID> -DisplayName "Cyberwatch SMTP"
Get-ServicePrincipal -Identity "Cyberwatch SMTP" | Format-List
Add-MailboxPermission -Identity "cyberwatch@contoso.com" -User <SERVICE_PRINCIPAL_ID> -AccessRights FullAccess

Dove:

  • <TENANT_ID>: l’ID della directory (tenant)
  • <APPLICATION_ID>: l’ID applicazione (client)
  • <OBJECT_ID>: l’ID oggetto visualizzato nel menu Applicazioni aziendali, nella pagina Panoramica dell’applicazione
  • <SERVICE_PRINCIPAL_ID>: il valore del campo Identity restituito da Get-ServicePrincipal
  • cyberwatch@contoso.com: l’indirizzo della casella di posta di invio

L’ID oggetto da utilizzare è quello dell’applicazione aziendale, e non quello della registrazione app. Con l’ID oggetto errato, l’autenticazione non riesce.

Se l’indirizzo inserito nel campo Mittente di Cyberwatch è diverso dalla casella di posta di invio, autorizzare anche l’applicazione a inviare come questo mittente:

Add-RecipientPermission -Identity <EXPEDITEUR> -Trustee <SERVICE_PRINCIPAL_ID> -AccessRights SendAs

Se l’autenticazione SMTP (SMTP AUTH) è disattivata a livello del tenant, attivarla per la casella di posta di invio:

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

Configurare Cyberwatch

  1. Creare da Impostazioni > Credenziali salvate una credenziale di tipo Microsoft Entra ID (Azure o Microsoft 365), con l’ID tenant, l’ID applicazione (client) e il segreto client, come descritto in Configurare gli accessi API. Su un’istanza distribuita su AKS, la credenziale può anche autenticarsi con Azure Workload Identity
  2. Accedere a Amministrazione > SMTP e compilare i campi seguenti:

    CampoValore
    Indirizzosmtp.office365.com
    Porta587
    CrittografiaSTARTTLS
    AutenticazioneOAuth 2.0 (Microsoft 365)
    Nome utenteL’indirizzo della casella di posta di invio
    Credenziale AzureLa credenziale creata nel passaggio precedente
  3. Cliccare su Salva
  4. Inviare un’e-mail di test dalla sezione Invia un’e-mail di test

La richiesta del token di accesso passa attraverso il proxy configurato in Amministrazione > Proxy, salvo se la credenziale ha l’opzione Ignora il proxy. La connessione al server SMTP, invece, non passa attraverso il proxy.

Una credenziale utilizzata dalla configurazione SMTP non può essere eliminata.

Errori frequenti

In caso di errore, l’e-mail di test mostra il messaggio restituito da Microsoft:

  • HTTP 401: AADSTS7000215: Invalid client secret…: il segreto client della credenziale non è valido o è scaduto
  • 535 5.7.3 Authentication unsuccessful: l’entità servizio non è registrata in Exchange Online, è stata registrata con l’ID oggetto errato, o non ha accesso alla casella di posta di invio