Nota:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse en una cuenta gratuita, consulte Introducción a la capa gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para las credenciales, el arrendamiento y los compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por otros específicos de su entorno en la nube.
Utilice el paquete DBMS_CLOUD_NOTIFICATION para enviar un correo electrónico desde Oracle Autonomous Database
Introducción
Oracle Autonomous Database proporciona una base de datos fácil de usar y totalmente autónoma que se escala de forma flexible y ofrece un rendimiento rápido de las consultas. Como servicio, en Autonomous Database no se necesita administración de base de datos.
Oracle Autonomous Database soporta el paquete DBMS_CLOUD_NOTIFICATION
para enviar mensajes y resultados de consultas como correo electrónico. Este paquete admite el envío de correo electrónico solo a puntos finales SMTP públicos.
Nota: El único proveedor de correo electrónico soportado actualmente es el servicio Oracle Cloud Infrastructure (OCI) Email Delivery.
Objetivos
Enviar mensajes y salida de una consulta como correo electrónico desde Oracle Autonomous Database mediante el paquete DBMS_CLOUD_NOTIFICATION
.
Requisitos
- Inicie sesión en su cuenta de Oracle Cloud.
- Cree una instancia de Autonomous Database (ADB-S) en el compartimento.
Tarea 1: Identificación y configuración de la conexión SMTP
-
Abra el menú de navegación y haga clic en Servicios para desarrolladores. En Integración de aplicación, haga clic en Email Delivery.
-
En el menú Recursos, haga clic en Configuración.
-
Punto final público: punto final público utilizado para enviar un correo electrónico a esta región.
-
SMTP Ports: puertos SMTP utilizados para aceptar un correo electrónico. Email Delivery admite TLS en el puerto 25 o 587.
-
Seguridad: este campo indica si se utiliza TLS, el medio estándar para realizar el cifrado en tránsito para correos electrónicos. Los clientes deben cifrar los correos electrónicos mientras está en tránsito por el servicio Oracle Cloud Infrastructure Email Delivery. Los correos electrónicos cifrados están protegidos para que no se puedan leer durante el tránsito.
-
Tarea 2: Generación de credenciales SMTP para Email Delivery
-
Ver los detalles del usuario:
- Si va a generar credenciales SMTP para usted: abra el menú Perfil y haga clic en Configuración de usuario o el nombre de su cuenta.
- Si es un administrador que va a generar credenciales SMTP para otro usuario, abra el menú de navegación y haga clic en Identidad y seguridad. En Identidad, haga clic en Usuarios. Localice al usuario en la lista y haga clic en el nombre de usuario para ver los detalles.
-
Haga clic en Credenciales de SMTP.
-
Haga clic en Generar credenciales de SMTP.
-
Introduzca una Descripción de las credenciales SMTP en el cuadro de diálogo.
-
Haga clic en Generar credenciales de SMTP. Se muestra un nombre de usuario y una contraseña como se muestra a continuación.
Tarea 3: crear un remitente aprobado para Email Delivery
Registre una dirección de correo electrónico de remitente que se utilizará para la entrega de correo electrónico.
-
Abra el menú de navegación y haga clic en Servicios para desarrolladores. En Integración de aplicación, haga clic en Email Delivery. En Email Delivery, haga clic en Remitentes aprobados. Asegúrese de estar en el compartimento correcto. Para poder gestionar remitentes aprobados en este compartimento, su usuario debe pertenecer a un grupo.
-
En la página Remitentes aprobados, haga clic en Remitente aprobado.
-
En el cuadro de diálogo Crear remitente aprobado, proporcione la siguiente información:
- Introduzca la dirección de correo electrónico que desea mostrar como remitente aprobado.
- (Opcional) Agregue etiquetas para organizar el recurso. Para aplicar una etiqueta definida, debe tener permisos para utilizar el espacio de nombres de la etiqueta. Para obtener más información sobre el etiquetado, consulte Etiquetas de recursos. Si no está seguro de si deben aplicar etiquetas, omita esta opción (puede aplicar las etiquetas posteriormente) o pregunte al administrador.
-
Haga clic en Crear emisor aprobado.
-
La dirección de correo electrónico se agrega a la lista de remitentes aprobados.
Nota:
En este ejemplo se utiliza test.com como remitente de ejemplo, aunque al configurar esto para enviar correos electrónicos desde el dominio de su organización, deberá asegurarse de que se ha configurado la configuración de seguridad de correo electrónico adecuada para OCI Email Delivery.
La información sobre la configuración de SPF y DKIM para OCI Email Delivery está disponible aquí (para SPF) y aquí (para DKIM).
Tarea 4: Envío de mensajes como correo electrónico desde Oracle Autonomous Database
-
Aprovisione una instancia de Oracle Autonomous Database: vaya a la página Detalles y haga clic en Acciones de base de datos. Se abre una página de conexión para Database Actions. Utilice la cuenta de administrador por defecto de la instancia de base de datos, Nombre de usuario - administrador, y haga clic en Siguiente. Se abrirá la página Database Actions. En el cuadro Desarrollo, haga clic en SQL.
-
Cree un objeto de credencial y utilice
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE
para enviar un mensaje como correo electrónico. Copie y pegue el fragmento de código a continuación en la hoja de trabajo de SQL.BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'test', username => 'username', password => '************' ); END; / BEGIN DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE( provider => 'email', credential_name => 'test', message => 'This message is to confirm that you have received an email from Autonomous Database', params => json_object('recipient' value '************', 'to_cc' value '************', 'to_bcc' value ‘************’, 'subject' value 'Test email', 'smtp_host' value 'smtp.email.us-phoenix-1.oci.oraclecloud.com', 'sender' value 'send.email@test.com' ) ); END; /
Utilice el parámetro params para especificar el remitente, smtp_host, el asunto, el destinatario y los destinatarios de un CC o BCC en los valores de string.
- remitente: ID de correo electrónico del remitente aprobado
- smtp_host: nombre de host SMTP
- asunto: asunto del correo electrónico
- destinatario: ID de correo electrónico de destinatarios
- to_cc: ID de correo electrónico que reciben una CC del correo electrónico
- to_bcc: ID de correo electrónico que reciben un BCC del correo electrónico
-
Asegúrese de hacer clic en el botón Ejecutar sentencia para ejecutarlo en la hoja de trabajo de SQL.
Una vez que el procedimiento se haya completado correctamente, recibirá el correo electrónico.
Tarea 5: Envío de resultados de consulta como correo electrónico desde Oracle Autonomous Database
-
Puede utilizar el paquete
DBMS_CLOUD_NOTIFICATION
para enviar los resultados de una consulta como correo electrónico. Por ejemplo, utiliceDBMS_CLOUD_NOTIFICATION.SEND_MESSAGE
para enviar un mensaje con la salida de la consulta: SELECT tablespace_name FROM dba_tablespaces; como correo electrónico. Copie y pegue el fragmento de código a continuación en la hoja de trabajo de SQL.BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'test', username => ‘username’ password => '************' ); END; / BEGIN DBMS_CLOUD_NOTIFICATION.SEND_DATA( provider => 'email', credential_name => 'test', query => 'SELECT tablespace_name FROM dba_tablespaces', params => json_object('recipient' value '************', 'to_cc' value '****************', 'to_bcc' value '****************', 'subject' value 'Tablespace Report', 'type' value 'json', 'title' value 'Tablespace report', 'message' value 'Here is the tablespace report', 'smtp_host' value 'smtp.email.us-phoenix-1.oci.oraclecloud.com', 'sender' value 'send.email@test.com' ) ); END; /
-
Asegúrese de hacer clic en el botón Ejecutar sentencia para ejecutarlo en la hoja de trabajo de SQL.
Una vez que el procedimiento se haya completado correctamente, recibirá el correo electrónico.
Pasos Siguientes
El paquete DBMS_CLOUD_NOTIFICATION ahora está soportado en Oracle Autonomous Database y acabamos de ver cómo enviar un correo electrónico mediante este paquete. Si desea obtener más información sobre Email Delivery o DBMS_CLOUD_NOTIFICATION en Oracle Autonomous Database, consulte la documentación de Oracle Autonomous Database.
Enlaces relacionados
- Envío de correo electrónico con el servicio Email Delivery en Autonomous Database
- Envío de correo electrónico con un proveedor de correo electrónico en un punto final privado
- Envío de notificaciones de Slack desde Autonomous Database
- Envío de notificaciones de Microsoft Teams desde Autonomous Database
Agradecimientos
- Autor: Priya Dhuriya (ingenier de soluciones sénior)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre los productos, visite Oracle Help Center.
Use the DBMS_CLOUD_NOTIFICATION package to send an email from Oracle Autonomous Database
F85877-01
August 2023
Copyright © 2023, Oracle and/or its affiliates.