?? readme.txt
字號(hào):
'########## My Feature:::::我愛我佳::::: ############
'# 程序提供: 我愛我佳 #
'# 主頁地址: http://www.5ienet.com #
'# 程序制作: 君三思 QQ:5454589 #
'#################################################################
1.將壓縮包解壓至硬盤,進(jìn)入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.賦權(quán)
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目錄,先執(zhí)行MailService.sql,再執(zhí)行MailSender.sql
4.建立packages,此處為演示方便,我將java proc成了function,從實(shí)用角度考慮,應(yīng)該是映射成普通的procedure更常用些,大家根據(jù)自己情況建吧
示例:
/**向指定地址發(fā)送郵件*/
select Java_SendMail.send('junsansi@sina.com','發(fā)送不帶附件的html主題','隨便發(fā)發(fā)看看唄hehe',1) from dual;
/**向指定地址發(fā)送郵件,有附件*/
select Java_SendMail.send('junsansi@sina.com','發(fā)送帶附件的html主題','隨便發(fā)發(fā)附件看看唄hehe','e:\sqlnet.log',1) from dual;
/**向指定地址發(fā)送郵件,有抄送*/
select Java_SendMail.send('5454589@qq.com','junsansi@sina.com,junsansi@hotmail.com','','再次發(fā)送帶附件的html主題,cc','隨便發(fā)發(fā)附件看看唄hehe',1) from dual;
/**向指定地址發(fā)送郵件,有抄送,有密送,有附件*/
select Java_SendMail.send('5454589@qq.com','junsansi@sina.com,junsansi@hotmail.com','junsansi@sina.com,junsansi@hotmail.com','再次發(fā)送帶附件的html主題,cc,bcc','隨便發(fā)發(fā)附件看看唄hehe','e:\sqlnet.log',1) from dual;
我感覺通過java存儲(chǔ)過程實(shí)現(xiàn)的郵發(fā)可擴(kuò)展功能將非常強(qiáng)大,比如你可以在這段腳本的基礎(chǔ)上,輕松將附件地址改造為支持網(wǎng)絡(luò)地址,這樣發(fā)送過程將能更加便利。
問題解決:
1、如果編譯java過程中出現(xiàn)錯(cuò)誤,可以通過下列語句找出無效java,并刪除,然后重新loadjava
Select 'dbms_java.dropjava(''' || dbms_java.longname(object_name) || ''');'
from user_objects
where object_type = 'JAVA CLASS'
and status = 'INVALID';
2.如果報(bào)出Failed to sent the mail...等錯(cuò)誤,可以先瀏覽你udump文件夾下的trc文件,確認(rèn)問題原因
3.SYS:java.net.SocketPermission賦權(quán)時(shí)如果*不能起作用,可以直接寫明smtp服務(wù)器地址。
4.如果你在調(diào)試smtp服務(wù)器的時(shí)候,最好將mailsender.java中
if (ms == null) {
makeSta.init();
}
改為
//if (ms == null) {
makeSta.init();
//}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -