Sending Email From Oracle using Amazon Simple Email Service (SES)

Use the below Link to create the Cerfiticate using Amazon SMTP address.

https://whatsmychaincert.com/?email-smtp.us-east-1.amazonaws.com

Creating Oracle Wallet :

mkdir -p /u01/app/oracle/wallet/TEST

orapki wallet create -wallet /u01/app/oracle/wallet/TEST

orapki wallet add -wallet /u01/app/oracle/wallet/TEST -pwd Pr0dxy5we@123 -trusted_cert -cert email-smtp.us-east-1.amazonaws.com.chain.crt

orapki wallet display -wallet /u01/app/oracle/wallet/TEST -pwd Pr0dxy5we@123

orapki wallet create -wallet /u01/app/oracle/wallet/TEST -auto_login

Create ACL :

SET LINESIZE 150
COLUMN host FORMAT A40
COLUMN acl FORMAT A50
SELECT host, lower_port, upper_port, acl
FROM dba_network_acls
ORDER BY host;

SET SERVEROUTPUT ON;
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL
(
ACL => ‘/sys/acls/TEST.xml’,
DESCRIPTION => ‘TEST SES’,
PRINCIPAL => ‘SCHEMA_NAME’,
IS_GRANT => TRUE,
PRIVILEGE => ‘connect’,
START_DATE => NULL,
END_DATE => NULL
);
COMMIT;
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(‘Error occurred while creating ACL: ‘|| SQLERRM);
END;
/

SET SERVEROUTPUT ON
BEGIN
DBMS_NETWORK_ACL_ADMIN.ASSIGN_WALLET_ACL
(
ACL => ‘/sys/acls/TEST.xml’,
WALLET_PATH => ‘file:/u01/app/oracle/wallet/TEST’
);
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(‘Error occurred while assigning ACL to wallet: ‘|| SQLERRM);
END;
/

SET SERVEROUTPUT ON
begin
dbms_network_acl_admin.append_host_ace
(
host => ’email-smtp.us-east-1.amazonaws.com’,
lower_port => null,
upper_port => null,
ace => xs$ace_type(
privilege_list => xs$name_list(‘smtp’),
principal_name => ‘SCHEMA_NAME’,
principal_type => xs_acl.ptype_db
)
);
exception when others then
dbms_output.put_line(‘Error while granting ACL :’|| sqlerrm);
end;
/

SET SERVEROUTPUT ON
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_WALLET_ACE
(
WALLET_PATH => ‘file:/u01/app/oracle/wallet/TEST’,
ACE => XS$ACE_TYPE(
PRIVILEGE_LIST => xs$name_list(‘use_client_certificates’),
PRINCIPAL_NAME => ‘SCHEMA_NAME’,
PRINCIPAL_TYPE => xs_acl.ptype_db
)
);
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(‘Error while configuring ACL for wallet :’|| SQLERRM);
END;
/

Recent Posts