Enviar E-mail do Oracle APEX
Você pode usar o pacote APEX_MAIL para enviar e-mails de aplicativos Oracle APEX implantados no Autonomous AI Database.
Antes de usar APEX_MAIL, configure um servidor SMTP que entregará e-mail do Oracle APEX. O Oracle APEX no Autonomous AI Database suporta o serviço Oracle Cloud Infrastructure Email Delivery, bem como provedores de e-mail de terceiros.
Configurar o OCI Email Delivery
Sua instância do Oracle APEX pode utilizar o serviço OCI Email Delivery para enviar e-mails de aplicativos APEX.
Para configurar a funcionalidade APEX_MAIL para usar o serviço OCI Email Delivery:
-
Identifique o ponto final de conexão SMTP para o serviço Email Delivery. Você configura o ponto final como Host SMTP em sua instância do APEX na Etapa 4. Talvez você precise assinar regiões adicionais do Oracle Cloud Infrastructure se o serviço Email Delivery não estiver disponível na sua região atual. Consulte Configurar Conexão SMTP para mais informações.
-
Gere credenciais SMTP para o serviço Email Delivery. Sua instância do APEX usa credenciais para autenticar com servidores de Entrega de E-mail quando você envia e-mail. Consulte Criando Credenciais SMTP para mais informações.
-
Crie um remetente aprovado para a Entrega de E-mail. É necessário concluir esta etapa para todos os endereços que você usa como "De" com chamadas
APEX_MAIL.SEND, como o endereço "De" do E-mail da Aplicação em seus aplicativos ou no parâmetro da instânciaSMTP_FROM. Consulte Gerenciando Remetentes Aprovados para mais informações. -
Conecte-se ao Autonomous AI Database como usuário ADMIN usando um cliente SQL e configure os seguintes parâmetros SMTP usando o
APEX_INSTANCE_ADMIN.SET_PARAMETER:-
SMTP_HOST_ADDRESS: Especifica o ponto final de conexão SMTP da Etapa 1 -
SMTP_USERNAME: Especifica o nome de usuário de credencial SMTP da Etapa 2 -
SMTP_PASSWORD: Especifica a senha da credencial SMTP da Etapa 2 -
SMTP_HOST_PORT: Mantenha o valor padrão para este parâmetro (587) -
SMTP_TLS_MODE: Manter o valor padrão para esse parâmetro (STARTTLS)
Por exemplo:
BEGIN APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_HOST_ADDRESS', 'smtp.email.us-phoenix-1.oci.oraclecloud.com'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_USERNAME', 'ocid1.user.oc1.username'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_PASSWORD', 'password'); COMMIT; END; /Consulte APEX_INSTANCE_ADMIN para obter mais informações.
-
Consulte Visão Geral do Serviço Email Delivery para obter mais informações.
Configurar Provedor de E-mail de Terceiros
Sua instância do Oracle APEX pode utilizar provedores de e-mail de terceiros para enviar e-mails de aplicativos APEX.
Antes de configurar um provedor de e-mail de terceiros no APEX, certifique-se de que os seguintes pré-requisitos sejam atendidos:
-
O Autonomous AI Database deve ser configurado para usar um Ponto Final Privado.
-
O ponto final SMTP do provedor de e-mail (porta 25 ou 587) deve estar acessível na VCN (Rede Virtual na Nuvem) e na sub-rede em que o Autonomous AI Database é provisionado.
Consulte Configurar o Acesso à Rede com Pontos Finais Privados para mais informações.
Após os pré-requisitos serem atendidos:
-
Adicione a seguinte lista de controle de acesso para o ponto final SMTP como ADMIN (observe o parâmetro
private_target):BEGIN DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE( host => 'smtp.example.com', ace => XS$ACE_TYPE( privilege_list => XS$NAME_LIST('SMTP'), principal_name => APEX_APPLICATION.g_flow_schema_owner, principal_type => XS_ACL.ptype_db), private_target => true); END; /Observação
Observação: Se você definir a propriedade do banco de dadosROUTE_OUTBOUND_CONNECTIONS, não precisará definir listas de controle de acesso para pontos finais SMTP individuais para acessá-los no APEX. Consulte Segurança Aprimorada para Conexões de Saída com Pontos Finais Privados para obter mais informações. -
Conecte-se ao Autonomous AI Database como usuário ADMIN usando um cliente SQL e configure os seguintes parâmetros SMTP usando o
APEX_INSTANCE_ADMIN.SET_PARAMETER. Se seu provedor de e-mail de terceiros não exigir autenticação, ignore os parâmetrosSMTP_USERNAMEeSMTP_PASSWORD.-
SMTP_HOST_ADDRESS: Especifica o ponto final de conexão SMTP da Etapa 1 -
Os valores válidos para o parâmetro
SMTP_HOST_PORTsão 25 ou 587 -
Defina o valor do parâmetro
SMTP_TLS_MODEcomoY
Por exemplo:
BEGIN APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_HOST_ADDRESS', 'smtp.example.com'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_HOST_PORT', '587'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_TLS_MODE', 'Y'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_USERNAME', 'username'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_PASSWORD', 'password'); COMMIT; END; /Consulte APEX_INSTANCE_ADMIN para obter mais informações.
-
Validar Configuração de E-mail
Mostra as etapas para confirmar que seu provedor de e-mail está pronto para uso com o APEX_MAIL.
-
Valide as definições de configuração de e-mail usando um cliente SQL como ADMIN:
BEGIN APEX_INSTANCE_ADMIN.VALIDATE_EMAIL_CONFIG; END; /Se algum erro for reportado (por exemplo,
"ORA-29279: SMTP permanent error: 535 Authentication credentials invalid"), ajuste os parâmetros SMTP ou a configuração da Rede Virtual na Nuvem (VCN) e repita a etapa de validação.Consulte APEX_INSTANCE_ADMIN para obter mais informações.
-
Envie um e-mail de teste usando o APEX SQL Workshop. Se você estiver usando o OCI Email Delivery, certifique-se de que o parâmetro
p_fromcorresponda a um dos remetentes aprovados. Por exemplo:BEGIN APEX_MAIL.SEND( p_from => 'alice@example.com', p_to => 'bob@example.com', p_subj => 'Email from Oracle Autonomous AI Database', p_body => 'Sent using APEX_MAIL'); END; /Consulte APEX_MAIL para mais informações.
-
Para monitorar a entrega de e-mails na instância do APEX:
-
Acesse o APEX Administration Services.
-
Abra a página Gerenciar Instância.
-
Clique no link Fila de E-mail na seção Gerenciar Metadados.
Como alternativa, consulte as views
APEX_MAIL_QUEUEeAPEX_MAIL_LOGusando um cliente SQL. -
Observações para Envio de E-mail do Oracle APEX
Fornece observações para trabalhar com provedores de e-mail no Oracle APEX de uma instância do Autonomous AI Database.
Observe o seguinte ao trabalhar com provedores de e-mail no Oracle APEX:
-
Há um limite padrão de 1.000 e-mails por espaço de trabalho em um período de 24 horas. Você pode atualizar ou remover esse limite no Oracle APEX Administration Services ou definindo o parâmetro de instância
WORKSPACE_EMAIL_MAXIMUM. Se você estiver usando o serviço OCI Email Delivery, o serviço poderá impor limitações adicionais. -
Ao usar o serviço OCI Email Delivery, um remetente aprovado deve ser configurado para todos os endereços de "De" possíveis ou o e-mail será rejeitado. Consulte Gerenciando Remetentes Aprovados para mais informações.