📄 readme.txt
字号:
'########## My Feature:::::我爱我佳::::: ############
'# 程序提供: 我爱我佳 #
'# 主页地址: http://www.5ienet.com #
'# 程序制作: 君三思 QQ:5454589 #
'#################################################################
1.将压缩包解压至硬盘,进入dos命令窗口,载入类包(表忘了将用户改成你的oracle用户及sid)
C:\>loadjava -user jss/jss@jssweb_jss -r -v -f mail.jar
C:\>loadjava -user jss/jss@jssweb_jss -r -v -f c:\sendmail\lib\activation.jar
C:\>loadjava -user jss/jss@jssweb_jss -r -v -f c:\sendmail\lib\ByteArrayDataSource.class
2.赋权
declare
begin
dbms_java.grant_permission('JSS','SYS:java.util.PropertyPermission','*','read,write');
dbms_java.grant_permission('JSS','SYS:java.net.SocketPermission','*','connect,resolve');
dbms_java.grant_permission('JSS','SYS:java.io.FilePermission','*','read');
end;
3.建立java procedures
打开java sources目录,先执行MailService.sql,再执行MailSender.sql
4.建立packages,此处为演示方便,我将java proc成了function,从实用角度考虑,应该是映射成普通的procedure更常用些,大家根据自己情况建吧
示例:
/**向指定地址发送邮件*/
select Java_SendMail.send('junsansi@sina.com','发送不带附件的html主题','随便发发看看呗hehe',1) from dual;
/**向指定地址发送邮件,有附件*/
select Java_SendMail.send('junsansi@sina.com','发送带附件的html主题','随便发发附件看看呗hehe','e:\sqlnet.log',1) from dual;
/**向指定地址发送邮件,有抄送*/
select Java_SendMail.send('5454589@qq.com','junsansi@sina.com,junsansi@hotmail.com','','再次发送带附件的html主题,cc','随便发发附件看看呗hehe',1) from dual;
/**向指定地址发送邮件,有抄送,有密送,有附件*/
select Java_SendMail.send('5454589@qq.com','junsansi@sina.com,junsansi@hotmail.com','junsansi@sina.com,junsansi@hotmail.com','再次发送带附件的html主题,cc,bcc','随便发发附件看看呗hehe','e:\sqlnet.log',1) from dual;
我感觉通过java存储过程实现的邮发可扩展功能将非常强大,比如你可以在这段脚本的基础上,轻松将附件地址改造为支持网络地址,这样发送过程将能更加便利。
问题解决:
1、如果编译java过程中出现错误,可以通过下列语句找出无效java,并删除,然后重新loadjava
Select 'dbms_java.dropjava(''' || dbms_java.longname(object_name) || ''');'
from user_objects
where object_type = 'JAVA CLASS'
and status = 'INVALID';
2.如果报出Failed to sent the mail...等错误,可以先浏览你udump文件夹下的trc文件,确认问题原因
3.SYS:java.net.SocketPermission赋权时如果*不能起作用,可以直接写明smtp服务器地址。
4.如果你在调试smtp服务器的时候,最好将mailsender.java中
if (ms == null) {
makeSta.init();
}
改为
//if (ms == null) {
makeSta.init();
//}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -