Utilizando o Oracle Email Delivery a partir de um Autonomous Database – Free!

Hoje irei demonstrar como configurar e utilizar um serviço da OCI, o Email Delivery, a partir de um Oracle Autonomous Database. Lembrando que esse serviço faz parte do Free Tier e temos 3 mil emails de graça por mês!

Primeiro, temos que criar as credenciais SMTP. Para isso, vamos entrar na configuração dos usuários na OCI.

Na tela que abrir escolha um usuário existente ou crie um.

Agora no menu do lado esquerdo do usuário clique em SMTP Credentials e depois em Generate SMTP Credentials.

Logo após, será solicitado uma descrição, coloque o que desejar, algo com um significado.

Depois que clicar em Generate SMTP Credentials será exibido o usuário e senha. Salve essas informações pois não conseguirá ver novamente!

Agora, vamos para o segundo passo, criar um aproval sender. Vamos no meu da OCI em Developer Services e depois em Email Delivery.

Agora, vá em Approved Senders.

Agora clique em Create Approved Senders.

Digite o email que será utilizado no FROM do email.

Agora, antes de passar para o próximo passo, vamos pegar a url do public endpoint. Para isso é só clicar em configuration e salvar a url.

Agora, vamos para o terceiro passo. Precisamos configurar tudo isso no Autonomous Database utilizando a procedure APEX_INSTANCE_ADMIN.SET_PARAMETER.

De uma maneira bem simples:

BEGIN
  
  APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_HOST_ADDRESS', 'smtp.email.sa-saopaulo-1.oci.oraclecloud.com');
  APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_USERNAME', 'username do smtp credentials');
  APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_PASSWORD', 'senha do smtp credentials');
  
  COMMIT;
  
END;
/  

Agora o último passo, vamos testar o envio de email. Para isso, devemos fazer a execução do código dentro do APEX. Caso não seja possível, devemos utilizar a procedure wwv_flow_api.set_security_group_id para configurar o workspace id.

BEGIN 

  wwv_flow_api.set_security_group_id(8558758191081823);
  
  apex_mail.send(p_from => 'terciosilvacosta@gmail.com', 
                 p_to   => 'terciosilvacosta@gmail.com', 
                 p_subj => 'Email from Autonomous',
                 p_body => 'This is a test email from Autonomous'); 

  apex_mail.push_queue(); 

END; 
/ 

Podemos verificar que ele chegou com sucesso!

Deixe um comentário

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.