Send Mail on Oracle PL/SQL - 第 1 期

在 Oracle Database 中, 本身就有提供一個 Send Mail 套件 : utl_smtp.

我們可利用 utl_smtp 此套件, 來達成在 PL/SQL 中 Send Mail 功能.

utl_smtp 的相關函數用法, 如下 :
 用法
declare
mail_conn utl_smtp.connection; --宣告
begin
-- 開啟 Mail Connection 物件
mail_conn := utl_smtp.open_connection('smtp_server');

-- 建立連線
utl_smtp.ehlo(mail_conn, 'smtp_server');

-- 設定 寄件者
utl_smtp.mail(mail_conn, 'sender_mail_address');

-- 設定 多個收件者
utl_smtp.rcpt(mail_conn, 'receiver1_mail_address');
utl_smtp.rcpt(mail_conn, 'receiver2_mail_address');
...

-- 設定 發信內容
utl_smtp.data(mail_conn, 'mail_content');

-- 結束連線
utl_smtp.quit(mail_conn);
end;


utl_smtp 的 Send Mail 範例, 如下 :
 範例
declare
mail_conn utl_smtp.connection; --宣告
begin
-- 開啟 Mail Connection 物件
mail_conn := utl_smtp.open_connection('172.16.xxx.xxx');

-- 建立連線
utl_smtp.helo(mail_conn, '172.16.xxx.xxx');

-- 設定 寄件者
utl_smtp.mail(mail_conn, 'tomkuo139@yahoo.com.tw');

-- 設定 收件者
utl_smtp.rcpt(mail_conn, 'aaa@xxx.yyy.zzz');
utl_smtp.rcpt(mail_conn, 'bbb@xxx.yyy.zzz');

-- 設定 發信內容
utl_smtp.data(mail_conn, 'Subject:Oracle Send Mail Test' ||
chr(13) || chr(10) ||
'Hello World'
);

-- 結束連線
utl_smtp.quit(mail_conn);
end;


很簡單吧, 下期將介紹 utl_smtp 的進階應用喔.

Send Mail 第二期 : 點選此處.

Send Mail 第三期 : 點選此處.

Send Mail 最終版 : 點選此處.
Related Posts Plugin for WordPress, Blogger...