通过Oracle发送Email的实现方法Oracle认证考试
文章作者 100test 发表时间 2009:08:21 19:19:10
来源 100Test.Com百考试题网
"libai">
在Procedure中p_receiver为收件人地址,多收件人以“,”(英文逗号)分割,p_sub为邮件标题,p_txt为邮件内容(支持HTML)。代码如下:
createorreplaceprocedurebsd_sendemail(p_receivervarchar2,p_subvarchar2,p_txtvarchar2)
is
p_uservarchar2(30):= .
p_passvarchar2(30):= .
p_sendorvarchar2(20):= Gnie .
p_servervarchar2(20):= Mail_Server_IP .
p_portnumber:=25.
p_need_smtpnumber:=0.
p_subjectvarchar2(4000).
l_crlfvarchar2(2):=utl_tcp.crlf.
l_sendoraddressvarchar2(4000).
l_splitevarchar2(10):= .
boundaryconstantvarchar2(256):= -----BYSUK .
first_boundaryconstantvarchar2(256):= -- ||boundary||l_crlf.
last_boundaryconstantvarchar2(256):= -- ||boundary|| -- ||l_crlf.
multipart_mime_typeconstantvarchar2(256):= multipart/mixed.boundary=" ||boundary|| " .
typeaddress_lististableofvarchar2(100)indexbybinary_integer.
my_address_listaddress_list.
-----------------分割邮件地址-------------------
procedurep_splite_str(p_strvarchar2,p_splite_flagintdefault1)is
l_addrvarchar2(254):= .
l_lenint.
l_strvarchar2(4000).
jint:=0.--表示邮件地址或者附件的个数
begin
/*处理接收邮件地址列表,包括去空格、将.转换为,等*/
l_str:=trim(rtrim(replace(replace(p_str, . , , ), , ), , )).
l_len:=length(l_str).
foriin1..l_lenloop
ifsubstr(l_str,i,1)<.>.