oracle发邮件功能代码编写

oracle发邮件功能代码编写

ID:42819229

大小:34.50 KB

页数:3页

时间:2019-09-22

oracle发邮件功能代码编写_第1页
oracle发邮件功能代码编写_第2页
oracle发邮件功能代码编写_第3页
资源描述:

《oracle发邮件功能代码编写》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Oracle提供了UTL_SMTP包,可以发送EMAIL。写了一个很简单的小例子:DECLAREMAIL_CONNUTL_SMTP.CONNECTION;BEGINMAIL_CONN:=UTL_SMTP.OPEN_CONNECTION('mail.itpub.net',25);UTL_SMTP.HELO(MAIL_CONN,'mail.itpub.net');UTL_SMTP.COMMAND(MAIL_CONN,'AUTHLOGIN');UTL_SMTP.COMMAND(MAIL_CONN,UTL_RAW.CAST_TO_VARCHAR2(UTL_ENC

2、ODE.BASE64_ENCODE(UTL_RAW.CAST_TO_RAW('yangtingkun@itpub.net'))));UTL_SMTP.COMMAND(MAIL_CONN,UTL_RAW.CAST_TO_VARCHAR2(UTL_ENCODE.BASE64_ENCODE(UTL_RAW.CAST_TO_RAW('password'))));UTL_SMTP.MAIL(MAIL_CONN,'yangtingkun@itpub.net');UTL_SMTP.RCPT(MAIL_CONN,'yangtk@cis.com.cn');UTL_SMTP

3、.DATA(MAIL_CONN,'TEST');UTL_SMTP.QUIT(MAIL_CONN);END;PL/SQL过程已成功完成。就这么一个简单的不能在简单的过程,居然花了N个小时才搞定。首先打开一个SMTP连接,输入一个邮件服务器的地址,注意如果邮件服务器地址不正确会出现类似这样的错误:第1行出现错误:ORA-29278:SMTP临时性错误:421ServicenotavailableORA-06512:在"SYS.UTL_SMTP",line21ORA-06512:在"SYS.UTL_SMTP",line97ORA-06512:在"SYS.UTL

4、_SMTP",line139ORA-06512:在line4随后输入的分别是用户名和密码。其实本来打算用UTL_MAIL包实现发邮件的功能,使用UTL_MAIL包基本上一行代码就可以了,但是现在几乎所有的邮件服务器都要求授权验证,因此只能使用UTL_SMTP包来实现,注意如果用户名、密码出现错误,则会报错:第1行出现错误:ORA-29279:SMTP永久性错误:535authorizationfailed(#5.7.0)ORA-06512:在"SYS.UTL_SMTP",line21ORA-06512:在"SYS.UTL_SMTP",line99ORA-

5、06512:在"SYS.UTL_SMTP",line159ORA-06512:在line8如果没有将用户名密码进行编码就直接发送,会碰到下面的错误:第1行出现错误:ORA-29279:SMTP永久性错误:501malformedauthinput(#5.5.4)ORA-06512:在"SYS.UTL_SMTP",line21ORA-06512:在"SYS.UTL_SMTP",line99ORA-06512:在"SYS.UTL_SMTP",line159ORA-06512:在line7如果没有设置用户名、密码,或者使用UTL_MAIL包连接到需要授权验证的

6、邮件服务器,则会报错如下:第1行出现错误:ORA-29279:SMTP永久性错误:554authloginfirstORA-06512:在"SYS.UTL_SMTP",line21ORA-06512:在"SYS.UTL_SMTP",line99ORA-06512:在"SYS.UTL_SMTP",line241ORA-06512:在"SYS.UTL_MAIL",line424ORA-06512:在"SYS.UTL_MAIL",line594ORA-06512:在line2CREATEORREPLACEPROCEDUREsend_mail(p_recipie

7、ntVARCHAR2,--邮件接收人p_subjectVARCHAR2,--邮件标题p_messageVARCHAR2--邮件正文)IS--下面四个变量请根据实际邮件服务器进行赋值v_mailhostVARCHAR2(30):='mail.itpub.net';--SMTP服务器地址v_userVARCHAR2(30):=username;--登录SMTP服务器的用户名v_passVARCHAR2(20):=password;--登录SMTP服务器的密码v_senderVARCHAR2(50):=email;--发送者邮箱,一般与ps_user对应v_c

8、onnUTL_SMTP.connection;--到邮件服务器的连接v_msgv

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。