通過Oracle发送Email的实现方法.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通過Oracle发送Email的实现方法

在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),then? l_addr:=l_addr||substr(l_str,i,1); ? else? j:=j+1; ? ifp_splite_flag=1then--表示处理邮件地址 ? --前后需要加上,否则很多邮箱将不能发送邮件 ? l_addr:=||l_addr||; ? --调用邮件发送过程 ? my_address_list(j):=l_addr; ? endif; ? l_addr:=; ? endif; ? ifi=l_lenthen ? j:=j+1; ? ifp_splite_flag=1then ? --调用邮件发送过程 ? l_addr:=||l_addr||; ? my_address_list(j):=l_addr; ? endif; ? endif; ? endloop; ? end; ? ------------------------------------------------写邮件头和邮件内容------------------------------------------ ? procedurewrite_data(p_conninoutnocopyutl_smtp.connection, ? p_nameinvarchar2, ? p_valueinvarchar2, ? p_splitevarchar2default:, ? p_crlfvarchar2defaultl_crlf)is? begin? /*utl_raw.cast_to_raw对解决中文乱码问题很重要*/ ? utl_smtp.write_raw_data(p_conn,utl_raw.cast_to_raw(convert(p_name||p_splite||p_value||p_crlf,ZHS16CGB231280))); ? end

文档评论(0)

d47fv82b5hI + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档