Salta ai contenuti

Outlook / Microsoft 365 (OAuth)

L’integrazione Outlook invia i modelli Frontmail dalla tua casella Outlook.com, Hotmail o Microsoft 365 (Exchange Online) tramite Microsoft Graph. I messaggi finiscono in Posta inviata e le risposte tornano nella tua casella.

Scegli Outlook / Microsoft 365 quando la tua azienda usa già Microsoft 365 e vuoi che i moduli del sito e le notifiche partano da una vera casella aziendale (ufficio@example.com) senza configurare un altro provider. Come Gmail, è pensato per volumi bassi: Exchange Online limita l’invio per casella e non ci sono webhook di consegna. Per volumi transazionali usa Mailgun, Postmark, Amazon SES o Resend. Vedi la panoramica dei servizi.

Microsoft 365 offre anche l’invio via SMTP (smtp.office365.com:587) e il servizio SMTP di Frontmail ha una preimpostazione apposita. Tuttavia SMTP AUTH è disattivato per impostazione predefinita in molti tenant e Microsoft sta dismettendo l’autenticazione Basic (nome utente + password) per SMTP AUTH in Exchange Online. Per questo l’integrazione usa invece OAuth e l’API Graph sendMail: nessuna password, nessuna eccezione per SMTP AUTH, e funziona con MFA e Accesso condizionale.

  • Un account Outlook.com / Hotmail, oppure un account aziendale Microsoft 365 con una casella Exchange Online (una licenza che includa Exchange).
  • Per Microsoft 365: il permesso di dare il consenso alle app. Molte organizzazioni consentono agli utenti di approvare da soli i permessi a basso rischio; altre richiedono il consenso dell’amministratore (vedi sotto).
  • Nient’altro: nessuna registrazione di app Azure tua.
  1. Apri Servizi email → Aggiungi servizio → Outlook / Microsoft 365.
  2. Clicca Collega Outlook / Microsoft 365 e accedi con la casella da cui vuoi inviare.
  3. Controlla la schermata di consenso. Frontmail richiede questi permessi delegati:
    • Mail.Send – inviare posta a tuo nome. Non può leggere, spostare o eliminare alcuna email.
    • offline_access – mantenere il permesso anche quando non hai effettuato l’accesso (è ciò che fornisce a Frontmail un refresh token).
    • openid email – il tuo indirizzo, mostrato nella pagina del servizio e usato come mittente predefinito.
  4. Clicca Accetta. Verrai riportato indietro e il servizio viene salvato con l’indirizzo collegato.
  5. Se vuoi, modifica Max email al secondo (predefinito 0,5/s = 30 al minuto) e clicca Prova connessione, che aggiorna il token.

Cosa viene salvato: il refresh token OAuth (più un access token di breve durata), cifrati con AWS KMS (envelope encryption). Gli access token durano circa un’ora; Microsoft ruota il refresh token a ogni rinnovo e Frontmail salva automaticamente quello nuovo.

Se il tuo tenant non consente il consenso degli utenti, l’accesso si ferma con «Approvazione dell’amministratore necessaria» (o con l’errore AADSTS65001 / AADSTS90094). Un Amministratore globale, un Amministratore applicazione cloud o un Amministratore applicazione può allora:

  • approvare la richiesta in sospeso in Interfaccia di amministrazione di Microsoft Entra → Applicazioni aziendali → Richieste di consenso amministratore, oppure
  • accedere personalmente tramite Collega Outlook / Microsoft 365 e spuntare Consenso per conto dell’organizzazione.

In seguito gli amministratori possono limitare l’app a utenti specifici in Applicazioni aziendali → Frontmail → Proprietà → Assegnazione obbligatoria.

Il refresh token diventa non valido quando:

  • l’utente cambia o reimposta la password, oppure un amministratore revoca le sessioni (AADSTS50173),
  • non viene usato per 90 giorni (AADSTS700082),
  • un utente o un amministratore rimuove Frontmail da App personali / Applicazioni aziendali,
  • un criterio di Accesso condizionale inizia a bloccare l’app, oppure l’account viene disattivato.

Frontmail riceve invalid_grant e lo tratta come un errore auth: il servizio viene segnato come unhealthy, ricevi un’email e un banner nella dashboard, e i messaggi restano in attesa (o vengono inviati tramite il servizio di riserva) finché non clicchi Ricollega nella pagina del servizio. Dopo, i messaggi in attesa vengono inviati automaticamente.

  • Indirizzi Outlook.com / Hotmail: non c’è niente da fare.
  • Microsoft 365 sul tuo dominio – di solito configurato durante l’attivazione del tenant; verifica che esistano questi record:
; SPF
example.com. TXT "v=spf1 include:spf.protection.outlook.com -all"
; DKIM – due CNAME, poi attiva la firma DKIM nel portale Microsoft Defender
selector1._domainkey.example.com. CNAME selector1-example-com._domainkey.contoso.onmicrosoft.com.
selector2._domainkey.example.com. CNAME selector2-example-com._domainkey.contoso.onmicrosoft.com.
; DMARC
_dmarc.example.com. TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"
  • Copia le destinazioni DKIM esatte da Microsoft Defender → Posta elettronica e collaborazione → Criteri → Impostazioni di autenticazione della posta elettronica → DKIM; i tenant più recenti possono mostrare un formato diverso.
  • Inizia DMARC con p=none e rendilo più restrittivo in seguito.

Indirizzo mittente: Graph invia come la casella con cui hai effettuato l’accesso. L’invio come cassetta postale condivisa o come un altro utente richiede i diritti Invia come e al momento non è supportato: questi tentativi falliscono con ErrorSendAsDenied.

Non c’è una regione da scegliere: Frontmail usa l’endpoint globale di Microsoft Graph (graph.microsoft.com) e l’endpoint di accesso common, che funziona sia per gli account personali sia per quelli aziendali. I cloud nazionali (ad es. Microsoft 365 gestito da 21Vianet, US Government) non sono supportati.

Account Limite approssimativo
Microsoft 365 / Exchange Online 10.000 destinatari al giorno, 30 messaggi al minuto, 500 destinatari per messaggio
Outlook.com / Hotmail ~300 messaggi al giorno, 100 destinatari per messaggio (meno per gli account nuovi)
Graph sendMail (MIME) fino a 4 MB per messaggio, allegati compresi

Il valore predefinito di Frontmail di 0,5 messaggi al secondo corrisponde al limite di Exchange di 30 messaggi al minuto. Il superamento dei limiti restituisce errori di throttling che Frontmail ritenta con backoff.

Microsoft Graph non offre webhook di consegna per la posta inviata, quindi non c’è niente da configurare e la pagina del servizio non ha un URL del webhook. Frontmail sa solo se Graph ha accettato il messaggio (sent) o l’ha rifiutato (failed). I rapporti di mancato recapito (NDR) arrivano nella tua casella come normali email e non vengono aggiunti alla lista di soppressione di Frontmail. Aperture e clic non vengono tracciati.

  • auth – il servizio non funziona (token revocato o scaduto, consenso mancante, nessuna casella, invio come altro utente negato, 401/403). Il servizio viene segnato come unhealthy; il proprietario riceve un’email e un banner nella dashboard. Subentra il servizio di riserva del modello, se c’è; altrimenti il credito viene rimborsato e il messaggio aspetta nella coda dei messaggi in attesa come held_service_error e viene inviato automaticamente dopo il nuovo collegamento (ricontrollato al salvataggio e dal controllo di stato giornaliero).
  • permanent – questo messaggio non può essere inviato (destinatari non validi, troppo grande, richiesta non valida). Servizio di riserva se configurato, altrimenti failed e rimborsato.
  • transient – throttling, 5xx, timeout. Ritentato con backoff esponenziale; dopo l’ultimo tentativo failed e rimborsato.
Risposta di Microsoft Classe Cosa fare
invalid_grant – AADSTS50173 / AADSTS700082 (autorizzazione scaduta o revocata) auth Clicca Ricollega nella pagina del servizio.
AADSTS65001 / «Approvazione dell’amministratore necessaria» auth Chiedi a un amministratore del tenant di concedere il consenso (vedi sopra), poi ricollega.
401 InvalidAuthenticationToken auth Di solito si risolve con il rinnovo automatico; se persiste, ricollega.
403 ErrorAccessDenied / Authorization_RequestDenied auth Il consenso è stato ritirato o l’Accesso condizionale blocca l’app: verifica con il tuo amministratore.
MailboxNotEnabledForRESTAPI auth L’account non ha una casella Exchange Online (nessuna licenza o casella on-premises).
ErrorSendAsDenied auth Usa l’indirizzo della casella collegata come indirizzo mittente.
ErrorQuotaExceeded auth La casella è piena: libera spazio perché Posta inviata possa salvare il messaggio.
400 ErrorInvalidRecipients permanent Vedi destinatario non valido.
413 / ErrorMessageSizeExceeded permanent Mantieni il messaggio con gli allegati sotto i 4 MB.
429 ApplicationThrottled / ErrorExceededMessageLimit / MailboxConcurrency transient Raggiunti i limiti per casella: Frontmail rallenta; riduci il volume o usa un provider transazionale.
500 / 503 ServiceUnavailable transient Disservizio di Microsoft: Frontmail ritenta.
  • Casella con Exchange Online (o Outlook.com) collegata tramite Collega Outlook / Microsoft 365
  • Consenso concesso, dall’utente o, se necessario, da un amministratore del tenant
  • Microsoft 365 sul proprio dominio: SPF include:spf.protection.outlook.com, DKIM selector1/selector2 attivo, DMARC
  • Mittente del modello = l’indirizzo della casella collegata
  • Prova connessione va a buon fine
  • Volume entro 30 messaggi al minuto e il limite giornaliero di destinatari
  • Servizio di riserva configurato per i modelli importanti