Oracle发送邮件存储过程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle发送邮件存储过程相关的知识,希望对你有一定的参考价值。
发送邮件的存储过程
CREATE OR REPLACE PROCEDURE Up_send_mail(subject in varchar2(500),mail_content in varchar2(2000),re_out out number(2)) AS /********************************* 编写:枯叶 作用:发送邮件 日期:2013-03-13 返回码: 0 = 发送成功 1 = 发送失败 *********************************/ smtp_conn utl_smtp.connection; --定义发邮件用户名 user_name varchar2(50) := utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(‘[email protected]‘))); --定义发邮件的密码 user_paswd varchar2(50) := utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(‘mailpass‘))); --定义邮件表头 lv_mail_header varchar2(200):=‘From:[email protected]‘||utl_tcp.CRLF|| ‘To:[email protected]‘||utl_tcp.CRLF|| ‘Subject:‘||subject||utl_tcp.CRLF; --定义邮件正文 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,‘<[email protected]>‘); utl_smtp.rcpt(smtp_conn,‘<[email protected]>‘); 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;
注:
[email protected] 改成发送邮箱的地址 mailpass 改成发送邮箱的密码 [email protected] 改成接收邮箱的地址
调用存储过程
DECLARE subject_in varchar(500) := ‘Oracle Tablespace mail‘; mail_content_in varchar(2000):=‘这是一个测试邮件,不知道是做什么用的!‘; 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(‘发送成功‘); ELSE DBMS_OUTPUT.put_line(‘发送失败‘); END IF; END;
本文出自 “枯叶” 博客,请务必保留此出处http://mydbs.blog.51cto.com/513727/1746197
以上是关于Oracle发送邮件存储过程的主要内容,如果未能解决你的问题,请参考以下文章
ORACLE 11G 存储过程发送邮件(job),ORA-24247:网络访问被访问控制列表 (ACL) 拒绝
Oracle PL/SQL 实现发送电子邮件功能(UTL_MAIL)