Envío de correo electrónico desde Oracle APEX

Puede utilizar el paquete APEX_MAIL para enviar correos electrónicos desde aplicaciones de Oracle APEX desplegadas en Autonomous Database.

Antes de utilizar APEX_MAIL, debe configurar un proveedor de correo electrónico en la instancia de Oracle APEX. El único proveedor de correo electrónico soportado es el servicio Email Delivery de Oracle Cloud Infrastructure.

Nota

Los proveedores de correo electrónico de terceros no están soportados.

Para activar la funcionalidad APEX_MAIL en la instancia de APEX en Autonomous Database:

  1. Identifique el punto final de conexión SMTP para Email Delivery. El punto final se configura como el host SMTP en su instancia de APEX en el paso 4. Puede que tenga que suscribirse a regiones de Oracle Cloud Infrastructure adicionales si Email Delivery no está disponible en su región actual. Para obtener más información, consulte Configuración de la conexión SMTP.
  2. Genere credenciales SMTP para Email Delivery. Su instancia de APEX utiliza credenciales para autenticarse con los servidores de Email Delivery cuando envía un correo electrónico. Consulte Generación de credenciales SMTP para un usuario para obtener más información.
  3. Cree un remitente aprobado para Email Delivery. Debe realizar este paso para todas las direcciones de correo electrónico que utilice como origen con llamadas de APEX_MAIL.SEND, como la dirección de origen de correo electrónico en sus aplicaciones o en el parámetro de instancia SMTP_FROM. Consulte Gestión de emisores aprobados para obtener más información.
  4. Conéctese a la instancia de Autonomous Database como usuario ADMIN con un cliente SQL y configure los siguientes parámetros SMTP con APEX_INSTANCE_ADMIN.SET_PARAMETER:
    • SMTP_HOST_ADDRESS: especifica el punto final de conexión SMTP del paso 1.
    • SMTP_USERNAME: especifica el nombre de usuario de la credencial SMTP del paso 2.
    • SMTP_PASSWORD: especifica la contraseña de la credencial SMTP del paso 2.
    • Mantenga los valores por defecto para el parámetro SMTP_HOST_PORT (587) y el parámetro SMTP_TLS_MODE (STARTTLS).
    Por ejemplo:
    BEGIN
        APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_HOST_ADDRESS', 'smtp.us-phoenix-1.oraclecloud.com');
        APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_USERNAME', 'ocid1.user.oc1.username');
        APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_PASSWORD', 'password');
        COMMIT;
    END;
    /
  5. Valide los valores de configuración de correo electrónico mediante un cliente SQL.
    BEGIN
        APEX_INSTANCE_ADMIN.VALIDATE_EMAIL_CONFIG;
    END;
    /

    Si se notifican errores (por ejemplo, "ORA-29279: SMTP permanent error: 535 Authentication credentials invalid"), ajuste los parámetros SMTP y repita el paso de validación.

  6. Envíe un correo electrónico de prueba mediante el taller de SQL de APEX, comandos SQL que especifican uno de los remitentes aprobados del paso 3. Por ejemplo:
    BEGIN
        APEX_MAIL.SEND(p_from => 'alice@example.com',
                       p_to   => 'bob@example.com',
                       p_subj => 'Email from Oracle Autonomous Database',
                       p_body => 'Sent using APEX_MAIL');
    END;
    /
  7. Para supervisar la entrega del correo electrónico en la instancia de APEX:
    1. Inicie sesión en los servicios de administración de APEX.
    2. Abra la página Gestionar instancia.
    3. Haga clic en el enlace Cola de correo en la sección Gestionar metadatos.
    También puede consultar las vistas APEX_MAIL_QUEUE y APEX_MAIL_LOG con un cliente SQL.
Nota

Hay un límite por defecto de 5 000 correos electrónicos por espacio de trabajo en un período de 24 horas. Puede actualizar o eliminar este límite en Servicios de administración de Oracle APEX o definiendo el parámetro de instancia WORKSPACE_EMAIL_MAXIMUM. Oracle Cloud Infrastructure Email Delivery puede imponer limitaciones adicionales.

Se debe configurar un remitente aprobado para todas las direcciones "De:" que envíen correo a través de Oracle Cloud Infrastructure, de lo contrario, el correo se rechazará. Hay limitaciones en cuanto a los remitentes aprobados con Oracle Cloud Infrastructure Email Delivery. Consulte Gestión de emisores aprobados para obtener más información.

Para obtener más información, consulte: