在网上看到一小段procedure可以用来发mail,测试了一下没问题,贴上来备忘
CREATE OR REPLACE PROCEDURE send_email (
p_recipient IN VARCHAR2,
p_message IN VARCHAR2,
p_subject IN VARCHAR2 default '',
p_sender IN VARCHAR2 default 'TestingDB@163.com')
IS
crlf varchar2(2) := chr(13) || chr(10);
v_mailhost varchar2(30) := '192.168.199.34';
mail_conn utl_smtp.connection;
msg varchar2(4000) := 'Date:' ||
to_char(sysdate,'dd mon yy hh24:mi:ss') || crlf ||
'From: ' || p_sender || '' ||crlf ||
'Subject: '||p_subject || crlf||
'To: '|| p_recipient || '' ||crlf||
p_message;
begin
mail_conn := utl_smtp.open_connection(v_mailhost,25);
utl_smtp.helo(mail_conn,v_mailhost);
utl_smtp.mail(mail_conn,p_sender);
utl_smtp.rcpt(mail_conn,p_recipient);
utl_smtp.data(mail_conn,msg);
utl_smtp.quit(mail_conn);
exception
when others then
dbms_output.put_line(dbms_utility.format_error_stack);
dbms_output.put_line(dbms_utility.format_call_stack);
end;
调用如下:
exec send_email(收件人,内容,主题,发件人);
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/1698901/viewspace-103266/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/1698901/viewspace-103266/