免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1748 | 回复: 0
打印 上一主题 下一主题

PL/SQL 發郵件(8i以上,需裝java支持) [复制链接]

求职 : 数据库管理员
论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-10 09:37 |只看该作者 |倒序浏览
/*=======================================================================
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;
/
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP