Get the App
SLTechnology News&Howtos  ›  Database  › 

Oracle send mail stored procedure

Shulou Source: shulou.com Published: 2022-06-01 17:22:34 10月01日 Update

A stored procedure that sends a message

CREATE OR REPLACE PROCEDURE Up_send_mail (subject in varchar2 (500), mail_content in varchar2 (2000) Re_out out number (2)) AS/** compilation: withered leaves function: send email date: 2013-03-13 return code: 0 = send success 1 = send failed * * / smtp_conn utl_smtp.connection -- define the user name user_name varchar2 (50): = utl_raw.cast_to_varchar2 (utl_encode.base64_encode (utl_raw.cast_to_raw ('mailname@163.com');-- define the password user_paswd varchar2 (50): = utl_raw.cast_to_varchar2 (utl_encode.base64_encode (utl_raw.cast_to_raw (' mailpass') -- define email header lv_mail_header varchar2: = 'From:mailname@163.com' | | utl_tcp.CRLF | |' To:tomail@qq.com' | | utl_tcp.CRLF | | 'Subject:' | | subject | | utl_tcp.CRLF -- define email body lv_mail_content varchar2 (2000): = utl_tcp.CRLF | | mail_content; begin re_out: = 0; smtp_conn: = utl_smtp.open_connection ('smtp.163.com',25); utl_smtp.helo (smtp_conn,'smtp.163.com'); utl_smtp.command (smtp_conn,'AUTH LOGIN') Utl_smtp.command (smtp_conn,user_name); utl_smtp.command (smtp_conn,user_paswd); utl_smtp.mail (smtp_conn,''); utl_smtp.rcpt (smtp_conn,''); utl_smtp.open_data (smtp_conn); utl_smtp.write_data (smtp_conn,lv_mail_header); utl_smtp.write_raw_data (smtp_conn,utl_raw.cast_to_raw (lv_mail_content)) Utl_smtp.close_data (smtp_conn); utl_smtp.quit (smtp_conn); exception when others then re_out: = 1; utl_smtp.quit (smtp_conn); RETURN; end

Note:

Change mailname@163.com to the address of sending mailbox mailpass to the password of sending mailbox tomail@qq.com to the address of receiving mailbox

Call stored procedure

DECLARE subject_in varchar: = 'Oracle Tablespace mail'; mail_content_in varchar (2000): =' this is a test email. I don't know what it's for!' ; re_out_out number (2); BEGIN Up_send_mail (subject_in,mail_content_in,re_out_out); IF re_out_out=0 THEN DBMS_OUTPUT.put_line ('sent successfully'); ELSE DBMS_OUTPUT.put_line ('send failed'); END IF;END

Tags: Mail mailbox procedure storage success address password function date dead leaf body user name header this is test Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Xiaomi Microsoft Shulou Technology NVidia Linux