在Oracle8i中引入了UTL_SMTP包(SMTP代表Simple Mail Transfer Protocol簡單郵件傳送協議,使用TCP連接埠25在客戶機和伺服器之間建立通訊聯絡),使開發人員能夠從資料庫寄送電子郵件。
只有安裝帶有Java虛擬機器(JVM)的8i或更高的版本才能使用UTL_SMTP。 此外還必須把plsql.jar載入資料庫中。否則,當調用UTL_SMTP API來寄送電子郵件的時候我們將得到下面的異常:ORA - 29540 : class oracle/plsql/net/TCPConnection does not exist。
procedure SetSender(pSender in varchar2);
function GetSender
return varchar2;
procedure SetRecipient(pRecipient in varchar2);
function GetRecipient
return varchar2;
procedure SetCcRecipient(pCcRecipient in varchar2);
function GetCcRecipient
return varchar2;
procedure SetMailHost(pMailHost in varchar2);
function GetMailHost
return varchar2;
procedure SetSubject(pSubject in varchar2);
function GetSubject
return varchar2;
procedure Send(pMessage in varchar2);
procedure Send(pSender in varchar2,
pRecipient in varchar2,
pMailHost in varchar2,
pCcRecipient in varchar2 := null,
pSubject in varchar2 := null,
pMessage in varchar2 := null);
procedure Send(pSender in varchar2,
pRecipient in varchar2,
pMailHost in varchar2,
pCcRecipient in varchar2 := null,
pSubject in varchar2 := null,
pMessage in varchar2 := null);
另一個版本只有當提供pMessage參數值時執行:
DBMS_OUTPUT包也有其他的缺點。 例如,它不接受可變的布爾類型以及它有255字元每行的限制(如果你想輸出一個長的訊息的話,那麼你會得到這個異常:ORA - 20000 : ORU - 10028 : line length overflow, limit of 255 bytes per line)。 把它的缺點全部列出這已經超出本文的範圍了,但是重要結論就是DBMS_OUTPUT包不許資料庫開發人員即時的看到訊息。