iT邦幫忙

0

在Oracle Database 10g XE 裡,有沒有 database email 類似功能?

  • 分享至 

  • xImage

請問各位,
在Oracle Database 10g XE 裡, 如想要用Database trigger 功能呼叫 mailing 程式. 要如何寫或有沒有類似的功能可以用?

看更多先前的討論...收起先前的討論...
jessewang iT邦研究生 4 級 ‧ 2008-11-24 12:26:26 檢舉
你是指要發送 mail 出去?我在 9i 上的 Procedures 裡面有 send_mail 跟 send_htmlmail 兩個 procedure。

如果有需要可以提供 source 給你,這好像是內建的。
jessewang iT邦研究生 4 級 ‧ 2008-11-24 12:27:51 檢舉
補充一下:

缺點是發送不成功的話沒法知道,目前我還再看這部份怎麼處理。
jessewang iT邦研究生 4 級 ‧ 2008-12-06 13:43:57 檢舉
關於發送到 SMTP Server 之後如果不成功,就由 SMTP Server 退信給寄件者,這是目前的處理方式。
謝謝你的回答,太感激了.有需要的話,我定會請你幫忙哦.^^
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

14
fupolo
iT邦新手 3 級 ‧ 2008-11-28 01:52:58
最佳解答

我的經驗中,這類的需求通常沒有辦法直接使用DB內建的功能.每每測試之後,還是選擇將資料移到普通的Mail Server去做.
比較建議的方法是,寫一隻程式,讓DB固定一個週期去跑.而這隻程式依照您需要Mail的資料邏輯去寫,撈出資料以後,寫到一個文字檔裡面.然後再用Mail Server去讀,去發Mail.
這樣的方式,Mail的本文與主旨等等的內容,比較可以自由的指定.除錯上也比較清楚.
若是您有使用Oracle ERP,其實是可以直接設定的.方法就直接請顧問給範例了.

jessewang iT邦研究生 4 級 ‧ 2008-11-28 11:46:06 檢舉

Oracle 是可以直接將信件寄給 smtp 直接發送出去的,我們公司目前就是這樣做,程式就是我寫的,使用 Oracle 內建的 send_mail and send_htmlmail procedure。

jessewang iT邦研究生 4 級 ‧ 2008-11-28 23:43:51 檢舉

還有,以前軟體公司沒解決的中文發送問題,在我手上解決了,Oracle DB 內部就可以直接發送中文的 email 出去的。

6
lukeshei
iT邦新手 3 級 ‧ 2008-12-20 23:23:57

這方法很多

方法零:使用UTL_SMTP
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_smtp.htm#CHDHHBJD

方法一:win32 下的oracle 還可以呼叫外部的activeX,你可以用其他語言寫SMTP 元件,或是叫用別人寫的SMTP 然後由ORACLE 內使用PL/SQL 叫要外部ACTIVEX

方法二:使用UTL_HTTP
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_http.htm#CHDIAFFA
這個package 可以直接使用PL/SQL 去操作HTTP Protocol,你可以先使用你的webapp程式去發送MAIL,然後由PL/SQL 使用 UTL_HTTP 去呼叫遠端的WEB SERVICE

--
沒錯!如果你使用方法二,可以直接由ORACLE去呼叫msnSDK這個線上服務,達成從ORACLE(trigger)直接發送MSN訊息,以下順便提供給你參考

msnSDK簡介與文件下載
如何直接使用瀏覽器發送MSN訊息
3分鐘學會使用程式發送msn訊息,php篇(一)
3分鐘學會使用程式發送msn訊息,dotNet C#篇(二)
3分鐘學會使用程式發送msn訊息, Java篇(三)
3分鐘學會使用程式發送msn訊息, Perl篇(四)
3分鐘學會使用程式發送msn訊息, VB6.0篇(五)
3分鐘學會使用程式發送msn訊息, ASP篇(六)

我要發表回答

立即登入回答