2013-03-08 158 views
2

完成数据库备份后,我需要在Oracle APEX中发送一封自动发送的电子邮件。有什么方法可以确保数据库备份过程完成吗?Oracle apex中的自动电子邮件

+0

数据库备份如何运行? – 2013-04-16 03:06:40

回答

1

如果数据库备份是通过类似Submit按钮的动作启动的,我们可以调用PL/SQL Script通过新的After Submit进程发送电子邮件。

以下是用来发送电子邮件的APEX方法:

apex_mail.send(
    p_to => to_list, -- change to your email address 
    p_from => sender, -- change to a real senders email address 
    p_bcc => bcc_list, 
    p_body  => l_body, 
    p_body_html => l_body_html, 
    p_subj  => subject); 

导航:

Page Definition -> Page Processing -> Processes 

以下是在SQL Workshop中创建一个样本PL/SQL函数来发送电子邮件:

create or replace function sendemail(sender in varchar2, receiver in varchar2, subject in varchar2, content in CLOB, signature in varchar2) return boolean is 
    sent_status boolean := false; 
    l_body clob; 
    l_body_html clob; 
begin 
    l_body := 'To view the content of this message, please use an HTML enabled mail client.'||utl_tcp.crlf; 

    l_body_html := '<html> 
     <head> 
      <style type="text/css"> 
       body{font-family: Arial, Helvetica, sans-serif; 
        font-size:10pt; 
        margin:30px; 
        background-color:#ffffff;} 

       span.sig{font-style:italic; 
        font-weight:bold; 
        color:#811919;} 
      </style> 
     </head> 
     <body>'||utl_tcp.crlf; 
    l_body_html := l_body_html ||content || utl_tcp.crlf; 
    l_body_html := l_body_html ||' <span class="sig">'||signature||'</span><br />'||utl_tcp.crlf; 
    l_body_html := l_body_html ||'</body></html>'; 
    apex_mail.send(
    p_to => receiver, -- change to your email address 
    p_from => sender, -- change to a real senders email address 
    p_bcc => sender, 
    p_body  => l_body, 
    p_body_html => l_body_html, 
    p_subj  => subject); 
    sent_status := true; 
    return sent_status; 
end;