- 求职 : 数据库管理员
- 论坛徽章:
- 0
|
/*=======================================================================
PROCEDURE NAME: SENDMAIL
DESCRIPTION : 利用Procedure 傳送 E-mail
=======================================================================*/
CREATE OR REPLACE PROCEDURE SENDMAIL
AS
MAIL_CONN UTL_SMTP.CONNECTION;
SMTP_SERVER VARCHAR2(100) := '172.17.8.6';
FROM_NAME VARCHAR2(100) := '"user"';
SENDER_EMAIL VARCHAR2(100) := 'HGCZJ1@YY3.YYDG.COM.CN';
TO_NAME1 VARCHAR2(100) := '"user1"';
TO_NAME2 VARCHAR2(100) := '"user2"';
RECEIVER1_EMAIL VARCHAR2(100) := 'user1@aa.COM.CN';
RECEIVER2_EMAIL VARCHAR2(100) := 'user2@aa.COM.CNw';
CONTENT VARCHAR2(100) := 'TEST 中文測試';
MAIL_SUBJECT VARCHAR2(100) := 'Procedure send mail test';
CRLF VARCHAR2(2) := CHR( 13 ) || CHR( 10 );
VRDATA RAW(32767);
BEGIN
--開啟Mail Connection 物件
MAIL_CONN := UTL_SMTP.OPEN_CONNECTION(SMTP_SERVER);
--建立連線
UTL_SMTP.HELO(MAIL_CONN, SMTP_SERVER);
--啟動信件 並 設定寄件者
UTL_SMTP.MAIL(MAIL_CONN, SENDER_EMAIL);
--設定收件者
UTL_SMTP.RCPT(MAIL_CONN, RECEIVER1_EMAIL);
--開啟信件主體
UTL_SMTP.OPEN_DATA(MAIL_CONN);
--寫入表頭資訊
UTL_SMTP.WRITE_DATA(MAIL_CONN, 'FROM: ' || '"' || FROM_NAME || '" <'|| SENDER_EMAIL ||'>;' || CRLF);
UTL_SMTP.WRITE_DATA(MAIL_CONN, 'TO: ' || '"' || TO_NAME1 || '" <' || RECEIVER1_EMAIL ||'>;' || CRLF);
UTL_SMTP.WRITE_DATA(MAIL_CONN, 'TO: ' || '"' || TO_NAME2 || '" <' || RECEIVER2_EMAIL ||'>;' || CRLF); --多個收件者
--UTL_SMTP.WRITE_DATA(MAIL_CONN, 'CC: ' || '"' || TO_NAME1 || '" <' || RECEIVER1_EMAIL ||'>;' || CRLF);
--UTL_SMTP.WRITE_DATA(MAIL_CONN, 'BCC: ' || '"' || TO_NAME1 || '" <' || RECEIVER1_EMAIL ||'>;' || CRLF);
UTL_SMTP.WRITE_RAW_DATA(MAIL_CONN, UTL_RAW.CAST_TO_RAW('SUBJECT: ' || MAIL_SUBJECT || CRLF));
UTL_SMTP.WRITE_DATA(MAIL_CONN, 'CONTENT-TYPE: ' || 'TEXT/HTML; CHARSET=BIG-5' || CRLF);
UTL_SMTP.WRITE_DATA(MAIL_CONN, 'CONTENT-TRANSFER-ENCODING: ' || '8BIT'|| CRLF);
--寫入信件內容
VRDATA := UTL_RAW.CAST_TO_RAW('kkkkkkkkkkkkkkkkkkkkkkkkkkk');
UTL_SMTP.WRITE_RAW_DATA(MAIL_CONN, VRDATA);
--關閉信件主體 並 發出mail
UTL_SMTP.CLOSE_DATA(MAIL_CONN);
--結束連線
UTL_SMTP.QUIT(MAIL_CONN);
END SENDMAIL;
/ |
|