Programming/Oracle

오라클에서 이메일 보내기

초록깨비 2021. 5. 7. 11:00
728x90

[ 오라클에서 이메일 보내기 ]  - UTL_SMTP.write_data를 이용할 경우 한글이 지원되지 않음

 

 

create or replace procedure SP_SEND_EMAIL(send_email     varchar2,

                                                           receiver_email varchar2,

                                                           title_email  varchar2 ,

                                                           message_email varchar2)

is

 

begin

 

declare

  v_From      varchar2(80) := send_email||'@xx.co.kr';

  v_Recipient varchar2(80) := receiver_email||'@xx.co.kr';

  v_Subject   varchar2(80) := title_email;

  v_mail_host varchar2(30) := 'mail.xx.co.kr';

  v_mail_conn utl_smtp.Connection;

  crlf       varchar2(2)  := chr(13)||chr(10); 

 

 

 

begin

 

         v_mail_conn := utl_smtp.open_connection(v_mail_host);

       

         utl_smtp.Helo(v_mail_conn, v_mail_host);

         utl_smtp.Mail(v_mail_conn, v_From);

         utl_smtp.Rcpt(v_mail_conn, v_Recipient);

         utl_smtp.Data(v_mail_conn,

                           'Date: '   || to_char(sysdate, 'Dy, DD Mon YYYY hh24:mi:ss') || crlf ||

                           'From: '   || v_From || crlf ||

                          'Subject: '|| v_Subject || crlf ||

                          'To: '     || v_Recipient || crlf || crlf ||message_email); 

       utl_smtp.Quit(v_mail_conn);

 

exception 

  when utl_smtp.Transient_Error or utl_smtp.Permanent_Error then

           raise_application_error(-20000, 'Unable to send mail', TRUE);

end;

 

 

end SP_SEND_EMAIL;

 

728x90