Para poder enviar correos electrónicos desde nuestra aplicación en APEX en una Base de Datos Autónoma debemos cumplir con los siguientes 4 pasos:

  • Generar las credenciales SMTP para la entrega de correo electrónico.
  • Crear un remitente aprobado para la entrega de correo electrónico.
  • Configurar los parámetros de SMTP en la Instancia de Oracle APEX.
  • Enviar una prueba de envío de correo electrónico usando el Taller de SQL de APEX.

Generar las credenciales SMTP para la entrega de correo electrónico

Ingresamos a nuestra cuenta en la nube de Oracle.

Desde el menú hamburguesa, seleccionamos –> Identidad y Seguridad –> Usuarios.

Necesitamos tener un usuario, crear grupos, asignar permisos, crear políticas, etc., pero eso es un tema propio del manejo de usuarios de OCI. Es recomendable usar un usuario propio para el envío de email, pero para esta demostración utilizaré el usuario que ha sido creado cuando he creado mi cuenta gratuita en la nube de Oracle.

Seleccionamos el usuario para crear las credenciales SMTP.

Entonces vamos a crear las credenciales SMTP para ese usuario. En la sección de recursos seleccionamos Credenciales de SMTP.

Luego hacemos clic en el botón Generar credenciales de SMTP.

Ingresamos una descripción en la ventana modal.

Y hacemos clic en el botón Generar credenciales de SMTP.

Se generará el nombre de usuario y contraseña del SMTP, copiamos esa información en un lugar seguro que se usará más adelante.

Ya tenemos las credenciales copiadas en un lugar seguro.

Crear un remitente aprobado para la entrega de correo electrónico

Ahora hacemos clic en el botón de hamburguesa –> Servicios para desarrolladores –> Email Delivery.

Creamos un remitente que sea aprobado. Para ello seleccionamos la opción Remitentes Aprobados.

Hacemos clic en el botón Crear remitente aprobado.

Este email sería el remitente de nuestro correo electrónico. Para esta demostración vamos a crear no-reply@aprenderdesarrolloapex.com. Hacemos clic en el botón Crear remitente aprobado.

Entonces este email será el remitente de nuestros emails en APEX.

Ahora que tenemos el email como remitente aprobado, hacemos clic en la opción: Configuración.

Seleccionamos y copiamos el punto final del SMTP y lo guardamos que será utilizado más adelante.


Configurar los parámetros de SMTP en la Instancia de Oracle APEX

Seguidamente vamos a nuestra base de datos autónoma. Hacemos click en el menú de hamburguesa –> Oracle Database –> Procesamiento de Transacciones Autónomo.

Seleccionamos la base de datos que queremos configurar. En mi caso seleccionaré LAB02.

Seleccionamos la instancia de APEX.

Iniciamos APEX haciendo clic en el botón Iniciar APEX.

Necesitamos ingresar a la administración de APEX, para ello hacemos clic en el enlace Administration Services.

 

Ingresamos la contraseña del usuario ADMIN de la base de datos Autónoma.

Ingresamos al panel de Servicios de Administración de la Instancia de APEX. Hacemos clic en Manage Instance –> Instance Settings.

Luego seleccionamos la ficha Email.

Ingresamos los datos del SMTP, el username y el password.

El punto final público es el SMTP Host Address.

Guardamos los cambios.

Cerramos sesión y luego ingresamos a nuestro espacio de trabajo en APEX.

Enviar una prueba de envío de correo electrónico usando el Taller de SQL de APEX

Ahora es momento de probar si funciona el envío de email en nuestro espacio de trabajo.

Ingresamos al SQL Workshop à SQL Commands

Ingresamos el siguiente código PL/SQL:

begin
  apex_mail.send(
  p_from=>'email@midominio.com',
  p_to=>'email2@midominio.com',
  p_subj=> 'Email desde Base de Datos Autónoma',
  p_body=>'Cuerpo del mensaje: Email de prueba.');
  apex_mail.push_queue();
end;

Donde reemplazamos el p_from por el email creado en remitentes aprobados y el p_to un email verdadero para verificar la llegada del email.

Ejecutamos el código.

De este modo me llega el email de prueba:

De esta forma ya tenemos configurado nuestro OCI para poder enviar emails dentro de nuestra aplicación en APEX usando el paquete APEX_MAIL.

¡Espero te sea de utilidad este tutorial!

¡Hasta la próxima!