溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Oracle發(fā)送郵件存儲過程

發(fā)布時間:2020-06-08 11:57:42 來源:網(wǎng)絡(luò) 閱讀:789 作者:c6iz 欄目:關(guān)系型數(shù)據(jù)庫

發(fā)送郵件的存儲過程 

CREATE OR REPLACE PROCEDURE Up_send_mail(subject in varchar2(500),mail_content in varchar2(2000),re_out out number(2))
AS
/*********************************
編寫:枯葉
作用:發(fā)送郵件
日期:2013-03-13
返回碼:
         0 = 發(fā)送成功
         1 = 發(fā)送失敗
*********************************/
  smtp_conn  utl_smtp.connection;
  --定義發(fā)郵件用戶名
  user_name  varchar2(50) := utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw('mailname@163.com')));
  --定義發(fā)郵件的密碼
  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,'<mailname@163.com>');
  utl_smtp.rcpt(smtp_conn,'<tomail@qq.com>');
  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 改成發(fā)送郵箱的地址
mailpass         改成發(fā)送郵箱的密碼
tomail@qq.com    改成接收郵箱的地址



調(diào)用存儲過程

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('發(fā)送成功');
 ELSE
    DBMS_OUTPUT.put_line('發(fā)送失敗'); 
 END IF;
END;


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI