Envoi de courriels et de notifications sur la base de données Autonomous AI

Il existe un certain nombre d'options pour l'envoi de courriels sur Autonomous AI Database. Vous pouvez également envoyer des notifications à un canal Slack, à MSTeams ou à un sujet OCI Notifications.

Envoyer un courriel à partir d'une base de données Autonomous AI avec Microsoft Exchange à l'aide d'OAuth2

Oracle Autonomous AI Database prend en charge l'envoi de courriels via Microsoft Exchange en tirant parti d'OAuth 2.0.

Pour utiliser OAuth2, vous devez d'abord inscrire une application dans Azure, affecter les droits d'accès d'API appropriés, créer une clé secrète pour l'application et créer un objet d'informations d'identification dans la base de données Autonomous AI. Une fois configuré, vous pouvez envoyer des messages via DBMS_CLOUD_NOTIFICATION.

Etapes d'envoi de courriel à l'aide de DBMS_CLOUD_NOTIFICATION :
  1. Inscription d'une application dans Microsoft Entra (Azure AD) :

    Sur le portail Azure, créez une inscription d'application et notez l'ID d'application (client) et l'ID de locataire Azure. Pour plus d'informations, reportez-vous aux instructions de Microsoft sur l'enregistrement d'une application.

  2. Créez une clé secrète dans les informations d'identification client pour l'application :

    L'ID client et la clé secrète client sont nécessaires pour créer un objet d'informations d'identification sécurisé dans votre base de données qui est utilisé pour identifier votre base de données en tant qu'application inscrite pouvant envoyer des courriels.

  3. Ajoutez l'autorisation "Mail.Send" et accordez le consentement de l'administrateur :

    Dans Azure, sous Droits d'accès à l'API, ajoutez le droit d'accès à l'application Mail.Send dans Microsoft Graph et demandez à un administrateur d'accorder son consentement.

    Votre environnement est maintenant configuré pour envoyer des courriels à l'aide du package DBMS_CLOUD_NOTIFICATION avec tout compte de messagerie valide de votre environnement MS Exchange.

Envoi de courriel

Utilisez DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE avec l'attribut de fournisseur défini sur email à l'aide d'un compte de messagerie valide et de vos informations d'identification avec l'ID client ou la clé secrète enregistrée en tant qu'application sécurisée pour envoyer un courriel.

  1. Vous devez créer des informations d'identification qui stockent l'ID client et la clé secrète :
    BEGIN
    DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => 'MS_TOKEN',
    username => '<client_id>',
    password => '<client_secret>'
    );
    END;
    /
  2. Envoyez un courriel à l'aide du flux d'informations d'identification client :
    BEGIN
    DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE(
    provider => 'email',
    credential_name => 'MS_TOKEN',
    message => 'Message content',
    params => json_object(
    'recipient' value 'recipient@example.com',
    'subject' value 'Test subject',
    'smtp_host' value 'smtp.office365.com',
    'sender' value 'sender@xyz.com',
    'tenant' value '<azure_tenant_id>'
    )
    );
    END;
    /

Dépannage

  • Connectivité de port : les connexions SMTP nécessitent le port TCP sortant 587. Si vous recevez ORA‑29278: SMTP transient error: 421 Service not available, vérifiez que les ACL réseau autorisent les connexions sortantes vers smtp.office365.com :587.
  • Droits d'accès manquants : les échecs d'authentification se produisent souvent lorsque l'application n'a pas obtenu le consentement de l'administrateur ou lorsque le principal de service n'a pas été inscrit dans Exchange. Consultez les étapes d'octroi des autorisations et d'enregistrement du principal de service.
  • SMTP AUTH désactivé : si vous ne pouvez pas vous authentifier après avoir obtenu des jetons, assurez-vous que SMTP AUTH est activé pour la boîte aux lettres et non désactivé globalement.
Voir aussi