资料中心

实例讲解如何通过Oracle成功发送邮件

来源:  点击数:  录入时间:08-04-25 14:38:18

  utl_smtp.mail(lc_mail_conn, '<'||as_sender||'>'); --这里的'<' 一定要写,不然会出现permanent error

 

  utl_smtp.rcpt(lc_mail_conn, '<'||as_recp||'>');--这里的'<' 一定要写,不然会出现permanent error

  utl_smtp.open_data(lc_mail_conn);

  ls_msg_body := 'From: ' || as_sender || chr(13) || chr(10) || 'To: ' || as_recp || chr(13) || chr(10) || ls_subject ||

 

 chr(13) || chr(10) || chr(13) || chr(10) || ls_msg_body;

  utl_smtp.write_raw_data(lc_mail_conn, utl_raw.cast_to_raw(ls_msg_body)); --这样写subject可以支持中文但body内容不支持中文;

  -- utl_smtp.write_data(lc_mail_conn, ls_msg_body); --这样写subject不支持中文

  utl_smtp.close_data(lc_mail_conn);

  utl_smtp.quit(lc_mail_conn);

  EXCEPTION

  WHEN UTL_SMTP.INVALID_OPERATION THEN

  dbms_output.put_line('invalid operation');

  WHEN UTL_SMTP.TRANSIENT_ERROR THEN

  dbms_output.put_line('transient error');

  WHEN UTL_SMTP.PERMANENT_ERROR THEN

  dbms_output.put_line('permanent error');

  WHEN OTHERS THEN

  dbms_output.put_line('others');

  end send_mail;

  3.执行发送邮件:

  exec send_mail('heyu@163.net','admin@163.net','我我','this is a oracle test mail');

   

  注意事项:上面的过程如果在编译中出现demo_base64.encode must be declared,请大家创建下面的包和包体;

  ---------------------------------

  CREATE OR REPLACE PACKAGE demo_base64 IS

  -- Base64-encode a piece of binary data.

  --

  -- Note that this encode function does not split the encoded text into

  -- multiple lines with no more than 76 bytes each as required by

  -- the MIME standard.

  --

  FUNCTION encode(r IN RAW) RETURN VARCHAR2;

  END;

  ------------------------------------

  CREATE OR REPLACE PACKAGE BODY demo_base64 IS

  TYPE vc2_table IS TABLE OF VARCHAR2(1) INDEX BY BINARY_INTEGER;

  map vc2_table;

  -- Initialize the Base64 mapping

  PROCEDURE init_map IS

  BEGIN

  map(0) :='A'; map(1) :='B'; map(2) :='C'; map(3) :='D'; map(4) :='E';

  map(5) :='F'; map(6) :='G'; map(7) :='H'; map(8) :='I'; map(9):='J';

  map(10):='K'; map(11):='L'; map(12):='M'; map(13):='N'; map(14):='O';

  map(15):='P'; map(16):='Q'; map(17):='R'; map(18):='S'; map(19):='T';

  map(20):='U'; map(21):='V'; map(22):='W'; map(23):='X'; map(24):='Y';

  map(25):='Z'; map(26):='a'; map(27):='b'; map(28):='c'; map(29):='d';

  map(30):='e'; map(31):='f'; map(32):='g'; map(33):='h'; map(34):='i';

  map(35):='j'; map(36):='k'; map(37):='l'; map(38):='m'; map(39):='n';

  map(40):='o'; map(41):='p'; map(42):='q'; map(43):='r'; map(44):='s';

  map(45):='t'; map(46):='u'; map(47):='v'; map(48):='w'; map(49):='x';

  map(50):='y'; map(51):='z'; map(52):='0'; map(53):='1'; map(54):='2';

  map(55):='3'; map(56):='4'; map(57):='5'; map(58):='6'; map(59):='7';

  map(60):='8'; map(61):='9'; map(62):='+'; map(63):='/';

  END;

9 7 3 1 2 3 4 8 :
 上一篇文章: 关于RHCE考试的30个主要方向
 下一篇文章: WindowsXP用户:教你超强50招技巧
自考在线课堂
【 北京联合大学广告学院高教自考招 】
【 新加坡华夏管理学院2008年自主招 】
【 北大英语自考部招生日语英语专业 】
【 一年半获取国家承认自学考试证书 】
【 北京联合大学广告学院2008年自考 】
【 2008年首都联合职工大学招生简介 】
自考必读 新手入门 | 报考指南 | 免考加考 | 毕业申请 | 自考常识
自考BLOG
【 陈瑞华再次将自考生推向悬崖愤怒 】
【 让你电脑右下角显示你(爱人)名字 】
【 分享一下 一个自考生的成功经验 】
【 自考这两年半经验之谈,新手必读 】
自考专题
【 自考专题第三期:就业,我们也行 】
【 自考专题二期:晒晒我们的自考情 】
【 自考专题一期:呐喊,我们也考研 】
自考推荐
自考招生
自考知道:有问必答!
全国各省市自考办电话
各地区官方网地址大全
寻找同城异性自考朋友
欢迎您订阅北京考试报
各地10月自考报名时间
中国自考网俱乐部成立
08年10月自考成绩查询
2009年自考时间及课程
09上半年自考报名时间
08年7月自考成绩查询
新手入门

法律本科公司法还是考04版的教材吗
我错过的自学考试的报考时间怎么办
法律事务与律师自考有什么不一样?
问谁知道高教自考非教育类的专科生
我想参加自考 请问需要什么条件吗
请教关于自考新旧计划课程顶替问题
自己所在的省没有想学的专业怎么办
高等数学(一)免考 问题急盼回复

自考时间
专业课程
转考免考
学位实践
学科系别
违纪处罚
疑难杂症
自考推荐
自考论坛
资格考试·串讲资料
今日推荐
[四川] 武侯区08年下半年高教自考毕业证办理须知
[福建] 09自考轮机工程技术专业(专科)考试计划
[重庆] 2008年10月有6万余人参加高等教育自学考试
[福建] 2009年高教自学考试4门统考课考试安排确定
[安徽] 09年4月高等教育自学考试考生报名时间公布
[江西] 08年高教自考体育教育(本科)课程的设置
[广东] 08广州某防空旅高教自学考试开设野外考场
[内蒙古] 08年高等教育自学考试课程免考相关规定
[广东] 有关汕头09年1月高等教育自学考试报考通知
[贵州] 09年高等教育自学考试课程安排有关的通知