Connessione un bot per la posta elettronica

SI APPLICA A: SDK v4

È possibile configurare il bot per comunicare con gli utenti tramite posta elettronica di Microsoft 365. Quando si configura il bot per accedere a un account di posta elettronica, riceve un messaggio quando arriva un nuovo messaggio di posta elettronica. Il bot può quindi usare la posta elettronica per rispondere. Ad esempio, in risposta al messaggio di posta elettronica di un utente, il bot potrebbe inviare una risposta di posta elettronica con il messaggio "Ciao! Grazie per l'ordine. L'elaborazione dell'ordine inizierà immediatamente".

Il canale Posta elettronica attualmente funziona solo con Office 365. Altri servizi di posta elettronica non sono attualmente supportati.

Avviso

  • Per motivi di sicurezza, Exchange Online disabiliterà l'autenticazione di base il 1° ottobre 2022. Il canale Di posta elettronica supporta ora il nuovo modello di autenticazione moderna di Exchange Online. I bot che usano il modello di autenticazione di base riscontrano errori dopo la modifica di ottobre 2022; o versioni precedenti se l'amministratore tenant disabilita l'autenticazione di base prima di tale data. Per altre informazioni, vedere Autenticazione di base ed Exchange Online - Aggiornamento di settembre 2021.
  • È una violazione del codice di comportamento di Bot Framework per creare "spambot", inclusi i bot che inviano messaggi di posta elettronica in blocco indesiderati o non richiesti.

Prerequisiti

  • Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
  • Un account di posta elettronica dedicato di Office 365 per il bot.
  • Autorizzazione per concedere il bot Mail.ReadWrite e Mail.Send l'accesso. Per altre informazioni, vedere Informazioni sulle esperienze di consenso dell'applicazione Microsoft Entra ID.

Nota

Non è consigliabile usare gli account di posta elettronica personali per i bot, perché ogni messaggio inviato a tale account di posta elettronica verrà inoltrato al bot. Ciò può implicare che il bot invii erroneamente una risposta a un mittente. Per questo motivo, i bot devono usare solo account di posta elettronica M365 dedicati.

Configurare la posta elettronica per l'uso dell'autenticazione moderna

  1. Apri il portale di Azure.

  2. Aprire il pannello delle risorse di Azure Bot per il bot.

  3. Nel riquadro sinistro selezionare Canali.

  4. Selezionare Posta elettronica per aprire il pannello Configura messaggio di posta elettronica .

    Configure email settings

    1. Impostare Tipo di autenticazione su Autenticazione moderna (OAUTH).

    2. In Indirizzo di posta elettronica immettere l'account di posta elettronica dedicato di Office 365 per il bot.

    3. Seleziona Autorizza.

      1. Quando richiesto, accedere all'account di posta elettronica e concedere autorizzazioni di lettura/scrittura e inviare autorizzazioni al bot.

      2. In caso di esito positivo, viene visualizzata una pagina con un codice di convalida. Copiare il codice di convalida.

        Interaction with validation code

    4. In Codice di autenticazione immettere il codice di convalida appena copiato.

    5. Selezionare Applica per completare la configurazione della posta elettronica.

Configurare la posta elettronica per l'uso dell'autenticazione di base

Nota

  • L'autenticazione federata con qualsiasi fornitore che sostituisce Microsoft Entra ID non è supportata.
  • Per motivi di sicurezza, l'utilizzo dell'autenticazione di base in Exchange Online viene disabilitato il 1° ottobre 2022. È consigliabile eseguire la migrazione di tutti i bot per usare l'autenticazione moderna prima della scadenza.
  • Se si usa Microsoft Exchange Server, assicurarsi di aver abilitato l'individuazione automatica prima di configurare la posta elettronica per l'uso dell'autenticazione di base.
  • Se si usa un account di Office 365 con MFA abilitato, assicurarsi di disabilitare prima l'autenticazione a più fattori per l'account specificato; è quindi possibile configurare l'account per il canale di posta elettronica. In caso contrario, la connessione non riuscirà.
  1. Apri il portale di Azure.

  2. Aprire il pannello delle risorse di Azure Bot per il bot.

  3. Nel riquadro sinistro selezionare Canali (anteprima) per aprire il pannello Canali .

  4. Selezionare Posta elettronica per aprire il pannello Configura messaggio di posta elettronica .

    Enter email credentials

    1. Impostare Tipo di autenticazione su Autenticazione di base (disabilitazione di ottobre 2022).
    2. In Indirizzo di posta elettronica immettere l'account di posta elettronica dedicato di Office 365 per il bot.
    3. In Password immettere la password per l'account di posta elettronica.
    4. Selezionare Applica per completare la configurazione della posta elettronica.

Personalizza e-mail

Il canale Email supporta l'invio di valori personalizzati per creare messaggi di posta elettronica più avanzati e personalizzati usando la proprietà activity channelData . Il frammento di codice seguente mostra un esempio di channelData per un messaggio di posta elettronica personalizzato in ingresso, dal bot all'utente.

{
    "type": "ActivityTypes.Message",
    "locale": "en-Us",
    "channelID": "email",
    "fromName": { "id": "mybot@mydomain.com", "name": "My bot"},
    "recipientName": { "id": "joe@otherdomain.com", "name": "Joe Doe"},
    "conversation": { "id": "123123123123", "topic": "awesome chat" },
    "channelData":
    {
        "htmlBody": "<html><body style = \"font-family: Calibri; font-size: 11pt;\" >This is more than awesome.</body></html>",
        "importance": "high",
        "ccRecipients": "Yasemin@adatum.com;Temel@adventure-works.com",
    }
}

Per altre informazioni sulla proprietà dell'attività channelData , vedere Creare un messaggio di posta elettronica personalizzato.

Risoluzione dei problemi

Per gli errori che possono verificarsi durante l'elaborazione del consenso a un'applicazione, vedere Informazioni sulle esperienze di consenso dell'applicazione microsoft Entra ID e Errore imprevisto durante l'esecuzione del consenso a un'applicazione.

Se il bot non restituisce un codice di stato HTTP 200 OK entro 15 secondi in risposta a un messaggio di posta elettronica in arrivo, il canale di posta elettronica tenterà di inviare nuovamente il messaggio e il bot potrebbe ricevere la stessa attività di messaggio di posta elettronica alcune volte. Per altre informazioni, vedere la sezione Relativa ai dettagli HTTP nell'articolo Funzionamento dei bot e risoluzione degli errori di timeout.

Risorse aggiuntive