Oracle发送邮件存储过程
admin
2023-05-04 12:22:16
0

发送邮件的存储过程 

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('mailname@163.com')));
  --定义发邮件的密码
  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:mailname@163.com'||utl_tcp.CRLF||
                                'To:tomail@qq.com'||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,'');
  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;

注:

mailname@163.com 改成发送邮箱的地址
mailpass         改成发送邮箱的密码
tomail@qq.com    改成接收邮箱的地址



调用存储过程

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;


相关内容

热门资讯

Google在港推出AI代理G... 观点网讯:7月29日,Google在香港推出AI代理Gemini Spark,该代理可全天候在后台运...
5G+165Hz!联想新品官宣... 近两年来,小屏平板一直是比较有趣的一个品类。 不同于大平板注重效率、手机追求万能的特点,拯救者Y70...
原创 马... 马斯克又出来了。这次说2036年钱就没用了。 理由是人工智能加机器人,东西多到你用不完,还拿钱干嘛...
美的集团:我国智能家居互联互通... IT之家 7 月 30 日消息,美的集团今日发布公告,7 月 21 日至 23 日,智能家居互联互通...
华为新款MatePad Pro... 【CNMO科技消息】7月30日,@华为终端 官宣全新旗舰平板华为MatePad Pro。 新款华为...
从实验室到实景验证:6G光子太... 全息通信是第六代移动通信(6G)的典型应用场景之一,旨在通过融合无线传输与全息三维成像技术,实现超大...
从“能对话”到“能干活”——人... 【经济界面】 光明日报记者 刘坤 李晓东 周洪双 人工智能(AI)眼镜化身为个人“助理”,实时进行...
【全新发布】UminiP Pr... (来源:洲明科技)
日本通过“H3火箭8号”发射失... △H3火箭(资料图) 日本文部科学省30日召开关于去年“H3火箭8号”发射失败的会议。会议通过的最终...
互联网巨头抢滩健康硬件,上游芯... 封面新闻记者 付文超 当下,互联网巨头对健康硬件的押注,正在成为产业现实,加速拉动整个产业链步入新一...