Hi All,
We are implementing send email in 19C.
I saw several docs, however nothing specific to 19C.
Here is what I have done so far
Login as SYS
begin
-- Allow SMTP access for user SCOTT
dbms_network_acl_admin.append_host_ace(
host =>'mailer.abc.com',
lower_port => 25,
upper_port => 25,
ace => xs$ace_type(
privilege_list => xs$name_list('SMTP'),
principal_name => 'SCOTT',
principal_type => xs_acl.ptype_db));
end;
COMMIT ;
CREATE OR REPLACE PROCEDURE SEND_MAIL (
msg_to varchar2,
msg_subject varchar2,
msg_text varchar2 )
IS
mail_conn utl_smtp.connection;
username varchar2(1000):= 'rajesh_alex@abc.com';
msg_from varchar2(50) := 'rajesh_alex@abc.com';
mailhost VARCHAR2(50) := 'mailer.itc.abc.com';
BEGIN
mail_conn := UTL_smtp.open_connection(mailhost, 25);
utl_smtp.starttls(mail_conn);
-- UTL_SMTP.AUTH(mail_conn, username, passwd, schemes => 'PLAIN');
utl_smtp.mail(mail_conn, msg_from);
utl_smtp.rcpt(mail_conn, msg_to);
UTL_smtp.open_data(mail_conn);
UTL_SMTP.write_data(mail_conn, 'Date: ' || TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MI:SS') || UTL_TCP.crlf);
UTL_SMTP.write_data(mail_conn, 'To: ' || msg_to || UTL_TCP.crlf);
UTL_SMTP.write_data(mail_conn, 'From: ' || msg_from || UTL_TCP.crlf);
UTL_SMTP.write_data(mail_conn, 'Subject: ' || msg_subject || UTL_TCP.crlf);
UTL_SMTP.write_data(mail_conn, 'Reply-To: ' || msg_to || UTL_TCP.crlf || UTL_TCP.crlf);
UTL_SMTP.write_data(mail_conn, msg_text || UTL_TCP.crlf || UTL_TCP.crlf);
UTL_smtp.close_data(mail_conn);
UTL_smtp.quit(mail_conn);
EXCEPTION
WHEN UTL_smtp.transient_error OR UTL_smtp.permanent_error THEN
UTL_smtp.quit(mail_conn);
dbms_output.put_line(sqlerrm);
WHEN OTHERS THEN
UTL_smtp.quit(mail_conn);
dbms_output.put_line(sqlerrm);
END;
execute send_mail('rajesh_alex@abc.com', 'Email from Oracle Autonomous Database', 'Sent using UTL_SMTP');
However it gave below error
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at "SYS.UTL_SMTP", line 110
ORA-06512: at "SYS.UTL_SMTP", line 235
ORA-06512: at "SYS.UTL_SMTP", line 215
ORA-06512: at "SYS.UTL_SMTP", line 630
ORA-06512: at "SYS.UTL_SMTP", line 641
ORA-06512: at "AFS.SEND_MAIL", line 39
ORA-29024: Certificate validation failure
ORA-06512: at "SYS.UTL_TCP", line 63
ORA-06512: at "SYS.UTL_TCP", line 314
ORA-06512: at "SYS.UTL_SMTP", line 290
ORA-06512: at "SYS.UTL_SMTP", line 296
ORA-06512: at "SEND_MAIL", line 15
ORA-06512: at line 1
Do I need to use wallet in 19C for authentication ?
Can someone give the exact steps ?
Thank you
Rajesh